J'ai une petite question sur la programmation générique à Java. Y a-t-il un moyen de vérifier le type du paramètre transmis à la méthode? Je voudrais comparer les types d'instance qui appelle la méthode et le paramètre qui lui est transmis.
S'ils ne sont pas identiques, l'action de la méthode doit être arrêtée (type de protection). P>
3 Réponses :
Vous ne pouvez pas utiliser avec être plus Spécifique , cette signature de méthode sera compilée à quelque chose comme p> type code> au moment de l'exécution car il est effacé par le compilateur. Il n'existe qu'au code source de la conception.
Si je comprends bien, vous devez utiliser l'instanceOf.
comme ceci:
Ce que vous pouviez faire, si vous voulez vraiment avoir cette vérification, c'est ajouter un paramètre de classe aux arguments des fonctions. Que comparer le clasparameter avec la classe de ceci. Cela fonctionnerait car les visiteurs ont le même type générique que la typlass.
Jetez un coup d'œil à l'utilisateur de l'utilisateur