首頁  >  文章  >  Java  >  如何辨識 Object[] 陣列中的原始值?

如何辨識 Object[] 陣列中的原始值?

DDD
DDD原創
2024-11-03 10:25:29848瀏覽

How to Identify Primitive Values in an Object[] Array?

判斷一個物件是否為原始物件

問題:
處理Object[] 數組時,如何識別哪些元素代表原始值?使用 Class.isPrimitive() 似乎會產生不正確的結果。

答案:
了解 Object[] 陣列中的元素是對物件的引用,就清楚了 Class.isPrimitive() 是對物件的引用。 isPrimitive() 將始終傳回 false。要確定物件是否是「基元的包裝器」(例如,int 的 Integer),需要使用自訂方法。

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

透過利用此方法,您可以準確地確定Object[] 陣列中的物件是否表示原始值或原始值的包裝類。

以上是如何辨識 Object[] 陣列中的原始值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn