Heim  >  Artikel  >  Java  >  Wie vermeide ich generische Java-Löschprobleme und -Lösungen?

Wie vermeide ich generische Java-Löschprobleme und -Lösungen?

WBOY
WBOYnach vorne
2023-04-23 12:22:07956Durchsuche

1. Problembeschreibung

Generische Typen können nicht explizit in Laufzeittypoperationen wie Transformation, Instanz von und Neu verwendet werden. Denn zur Laufzeit gehen die Typinformationen aller Parameter verloren.

2. Lösung

/**
 * 泛型类型判断封装类
 * @param <T>
 */
class GenericType<T>{
    Class<?> classType;
    
    public GenericType(Class<?> type) {
        classType=type;
    }
    
    public boolean isInstance(Object object) {
        return classType.isInstance(object);
    }
}

In der Hauptmethode können wir es so aufrufen:

GenericType<A> genericType=new GenericType<>(A.class);
System.out.println("------------");
System.out.println(genericType.isInstance(new A()));
System.out.println(genericType.isInstance(new B()));

Wir zeichnen das Klassenobjekt des Typparameters auf und verwenden dieses Klassenobjekt dann, um eine Typbeurteilung durchzuführen.

Das obige ist der detaillierte Inhalt vonWie vermeide ich generische Java-Löschprobleme und -Lösungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen