Menentukan sama ada Objek adalah Jenis Primitif
Apabila bekerja dengan tatasusunan objek, mungkin perlu untuk menentukan objek yang jenis primitif . Semasa cuba menggunakan kaedah Class.isPrimitive(), sesetengah pengguna mungkin menemui keputusan palsu kerana auto-tinju.
Memahami Auto-Tinju
Auto-tinju ialah ciri dalam Java yang secara automatik menukar nilai primitif kepada kelas pembalut yang sepadan apabila digunakan sebagai objek. Sebagai contoh, int primitif ditukar secara automatik kepada kelas pembalutnya, Integer.
Pendekatan Betul
Untuk menentukan dengan tepat sama ada objek adalah jenis primitif, adalah perlu untuk menyemak sama ada jenisnya ialah "pembungkus untuk primitif" dan bukannya menggunakan Class.isPrimitive(). Ini boleh dicapai dengan membandingkan kelas objek dengan set kelas pembalut yang diketahui.
Menyesuaikan untuk Jenis Tertentu
Coretan kod berikut termasuk kaedah utiliti, isWrapperType, yang boleh digunakan untuk menentukan sama ada jenis objek ialah jenis pembalut. Ia membandingkan kelas objek dengan set kelas pembalut yang telah ditetapkan dan mengembalikan hasil boolean.
<code class="java">import java.util.*; public class Test { public static void main(String[] args) { System.out.println(isWrapperType(String.class)); System.out.println(isWrapperType(Integer.class)); } 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); ... return ret; } }</code>
Kesimpulan
Dengan menggunakan pendekatan tersuai ini, pembangun boleh menentukan dengan tepat sama ada objek dalam tatasusunan Object[] adalah daripada jenis primitif, dengan mengambil kira kesan auto-tinju.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Objek adalah Jenis Primitif di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!