首頁  >  文章  >  Java  >  Java中如何判斷一個物件是否包裝了一個基本型別?

Java中如何判斷一個物件是否包裝了一個基本型別?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-31 20:27:29908瀏覽

How to Determine if an Object Wraps a Primitive Type in Java?

確定物件是否為原始物件:使用包裝類型偵測

在 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中文網其他相關文章!

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