Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menentukan sama ada Objek dalam Array ialah Jenis Pembungkus untuk Primitif?

Bagaimana untuk Menentukan sama ada Objek dalam Array ialah Jenis Pembungkus untuk Primitif?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 10:36:30746semak imbas

How to Determine if an Object in an Array is a Wrapper Type for a Primitive?

Cara Mengenalpasti Jenis Primitif dalam Tatasusunan Objek

Di Java, menentukan sama ada objek adalah jenis primitif menggunakan Class.isPrimitive() boleh mengelirukan. Ini kerana objek dalam tatasusunan adalah rujukan kepada nilai sebenar.

Untuk menentukan dengan tepat sama ada objek itu primitif, kita perlu menyemak sama ada jenisnya ialah pembalut untuk jenis primitif. JDK tidak menyediakan kaedah terbina dalam untuk ini, tetapi kami boleh mencipta kaedah tersuai:

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

Kaedah tersuai ini, isWrapperType(), mencipta satu set jenis pembalut primitif dan menyemak sama ada diberikan perlawanan kelas mana-mana daripada mereka. Pendekatan ini memastikan pengecaman tepat jenis primitif dalam tatasusunan Object[].

Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Objek dalam Array ialah Jenis Pembungkus untuk Primitif?. 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