1. Description du problème
Les types génériques ne peuvent pas être explicitement utilisés dans les opérations de type d'exécution, telles que la transformation, l'instance de et le nouveau. Parce qu'au moment de l'exécution, les informations de type de tous les paramètres sont perdues.
2. Solution
/** * 泛型类型判断封装类 * @param <T> */ class GenericType<T>{ Class<?> classType; public GenericType(Class<?> type) { classType=type; } public boolean isInstance(Object object) { return classType.isInstance(object); } }
Dans la méthode principale, nous pouvons l'appeler comme ceci :
GenericType<A> genericType=new GenericType<>(A.class); System.out.println("------------"); System.out.println(genericType.isInstance(new A())); System.out.println(genericType.isInstance(new B()));
Nous enregistrons l'objet Class du paramètre de type, puis utilisons cet objet Class pour effectuer un jugement de type.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!