Menentukan sama ada Objek adalah Primitif: Menggunakan Pengesanan Jenis Pembungkus
Dalam Java, objek boleh membalut nilai primitif melalui auto-tinju. Untuk membezakan antara jenis primitif sebenar dan primitif berkotak, pendekatan khusus diperlukan.
Menyemak Jenis Primitif menggunakan Class.isPrimitive()
The Class.isPrimitive() kaedah tidak sesuai untuk tujuan ini. Jenis primitif diwakili sebagai rujukan kepada kelas pembungkusnya (cth., objek Integer untuk int).
Kaedah Alternatif: Mengenalpasti Jenis Pembungkus
Penyelesaian terletak pada menentukan sama ada jenis objek ialah pembalut untuk jenis primitif. Walaupun perpustakaan Java tidak mempunyai fungsi terbina dalam untuk ini, ia boleh dilaksanakan dengan mudah:
<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>
Penggunaan: Kaedah yang disediakan ialahWrapperType mengambil objek Kelas sebagai hujah dan mengembalikan benar jika ia ialah pembungkus untuk jenis primitif, dan palsu sebaliknya.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Objek Membungkus Jenis Primitif di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!