Rumah > Java > javaTutorial > Bagaimana untuk Mengenalpasti Nilai Primitif dalam Tatasusunan Objek[]?

Bagaimana untuk Mengenalpasti Nilai Primitif dalam Tatasusunan Objek[]?

DDD
Lepaskan: 2024-11-03 10:25:29
asal
930 orang telah melayarinya

How to Identify Primitive Values in an Object[] Array?

Menentukan sama ada Objek adalah Primitif

Soalan:
Apabila berurusan dengan tatasusunan Objek[], bagaimana anda boleh mengenal pasti unsur yang mewakili nilai primitif? Menggunakan Class.isPrimitive() nampaknya menghasilkan hasil yang salah.

Jawapan:
Memahami bahawa unsur-unsur dalam tatasusunan Object[] ialah rujukan kepada objek, jelaslah bahawa Class itu. isPrimitive() akan sentiasa mengembalikan false. Untuk menentukan sama ada objek ialah "pembungkus untuk primitif" (cth., Integer untuk int), pendekatan tersuai diperlukan.

Berikut ialah coretan kod Java yang menunjukkan penyelesaian:

<code class="java">import java.util.*;

public class Test {

    public static void main(String[] args) {
        System.out.println(isWrapperType(String.class)); // false
        System.out.println(isWrapperType(Integer.class)); // true
    }

    private static final Set<Class<?>> WRAPPER_TYPES = getWrapperTypes();

    public static boolean isWrapperType(Class<?> clazz) {
        return WRAPPER_TYPES.contains(clazz);
    }

    private static Set<Class<?>> getWrapperTypes() {
        Set<Class<?>> ret = new HashSet<>();
        ret.add(Boolean.class);
        ret.add(Character.class);
        ret.add(Byte.class);
        ret.add(Short.class);
        ret.add(Integer.class);
        ret.add(Long.class);
        ret.add(Float.class);
        ret.add(Double.class);
        ret.add(Void.class);
        return ret;
    }
}</code>
Salin selepas log masuk

Dengan menggunakan pendekatan ini, anda boleh menentukan dengan tepat sama ada objek dalam tatasusunan Object[] mewakili nilai primitif atau kelas pembalut untuk nilai primitif.

Atas ialah kandungan terperinci Bagaimana untuk Mengenalpasti Nilai Primitif dalam Tatasusunan Objek[]?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan