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

Bagaimana untuk Mengenalpasti Nilai Primitif dalam Tatasusunan Objek[]?

DDD
DDDasal
2024-11-03 10:25:29851semak imbas

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>

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!

Kenyataan:
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