確定物件是否為原始物件:使用包裝類型偵測
在 Java 中,物件可以透過自動包裝來包裝原始值。為了區分真正的基元類型和裝箱基元,需要特定的方法。
使用 Class.isPrimitive() 檢查基元類型
Class.isPrimitive()方法不適合此目的。基本型別表示為對其包裝類別的參考(例如,int 的整數物件)。
替代方法:辨識包裝類型
解決方案在於決定是否物件的類型是原始類型的包裝。雖然Java 庫缺乏這方面的內建功能,但它可以輕鬆實現:
<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>
用法: 提供的方法isWrapperType 將Class 物件作為參數,如果它是,則傳回true是原始類型的包裝器,否則為false。
以上是Java中如何判斷一個物件是否包裝了一個基本型別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!