Heim  >  Artikel  >  Java  >  Wie identifiziere ich Grundwerte in einem Object[]-Array?

Wie identifiziere ich Grundwerte in einem Object[]-Array?

DDD
DDDOriginal
2024-11-03 10:25:29851Durchsuche

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

Bestimmen, ob ein Objekt primitiv ist

Frage:
Beim Umgang mit einem Object[]-Array: Wie können Sie identifizieren, welche Elemente primitive Werte darstellen? Die Verwendung von Class.isPrimitive() scheint falsche Ergebnisse zu liefern.

Antwort:
Wenn man versteht, dass die Elemente in einem Object[]-Array Verweise auf Objekte sind, wird klar, dass Class. isPrimitive() gibt immer false zurück. Um festzustellen, ob ein Objekt ein „Wrapper für Primitive“ ist (z. B. Integer für int), ist ein benutzerdefinierter Ansatz erforderlich.

Hier ist ein Java-Codeausschnitt, der eine Lösung zeigt:

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

Mit diesem Ansatz können Sie genau bestimmen, ob ein Objekt in einem Object[]-Array einen Grundwert oder eine Wrapper-Klasse für einen Grundwert darstellt.

Das obige ist der detaillierte Inhalt vonWie identifiziere ich Grundwerte in einem Object[]-Array?. 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