首頁  >  文章  >  Java  >  如何確定陣列中的物件是否為基元的包裝類型?

如何確定陣列中的物件是否為基元的包裝類型?

Linda Hamilton
Linda Hamilton原創
2024-11-01 10:36:30817瀏覽

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

如何辨識物件陣列中的原始型別

在Java 中,使用Class.isPrimitive() 確定物件是否為原始型別可能會產生誤導。這是因為數組中的物件是對實際值的參考。

為了準確地確定一個物件是否是原始對象,我們需要檢查它的類型是否是原始類型的包裝。 JDK 沒有為此提供內建方法,但我們可以建立自訂方法:

<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() 建立一組原始包裝類型並檢查是否給定的類別與它們中的任何一個匹配。這種方法可確保準確識別 Object[] 陣列中的基本類型。

以上是如何確定陣列中的物件是否為基元的包裝類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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