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!