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!