Heim >Java >javaLernprogramm >Wie kann man in Java feststellen, ob ein Objekt einen primitiven Typ umschließt?

Wie kann man in Java feststellen, ob ein Objekt einen primitiven Typ umschließt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 20:27:29990Durchsuche

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

Bestimmen, ob ein Objekt primitiv ist: Verwendung der Wrapper-Typ-Erkennung

In Java kann ein Objekt primitive Werte durch Auto-Boxing umschließen. Um zwischen echten primitiven Typen und Boxed-Primitiven zu unterscheiden, ist ein spezifischer Ansatz erforderlich.

Überprüfung auf primitive Typen mit Class.isPrimitive()

Die Class.isPrimitive() Die Methode ist für diesen Zweck nicht geeignet. Primitive Typen werden als Referenzen auf ihre Wrapper-Klassen dargestellt (z. B. Integer-Objekt für int).

Alternative Methode: Identifizieren von Wrapper-Typen

Die Lösung liegt in der Bestimmung, ob ein Der Typ des Objekts ist ein Wrapper für einen primitiven Typ. Obwohl in Java-Bibliotheken dafür keine integrierte Funktionalität vorhanden ist, kann dies einfach implementiert werden:

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

Verwendung: Die bereitgestellte Methode isWrapperType nimmt ein Klassenobjekt als Argument und gibt true zurück, wenn dies der Fall ist ist ein Wrapper für einen primitiven Typ und andernfalls false.

Das obige ist der detaillierte Inhalt vonWie kann man in Java feststellen, ob ein Objekt einen primitiven Typ umschließt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn