Maison > Java > javaDidacticiel > le corps du texte

Comment éviter les problèmes d'effacement générique Java et leurs solutions ?

WBOY
Libérer: 2023-04-23 12:22:07
avant
1001 Les gens l'ont consulté

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);
    }
}
Copier après la connexion

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()));
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal