Maison > Java > javaDidacticiel > Comment fonctionnent les génériques Java ? Les super` Wildcards fonctionnent et quelles sont leurs limites ?

Comment fonctionnent les génériques Java ? Les super` Wildcards fonctionnent et quelles sont leurs limites ?

DDD
Libérer: 2024-11-25 06:17:16
original
594 Les gens l'ont consulté

How Do Java Generics' `? super` Wildcards Work and What Are Their Limitations?

Java Generics Super Keyword

Comprendre les caractères génériques délimités

Lorsque nous utilisons des caractères génériques délimités avec super, cela signifie que le paramètre de type peut être le type spécifié ou l'une de ses superclasses. Par exemple, Liste indique que la liste peut contenir des objets de type Number ou l'une de ses classes parent.

Ajout d'éléments aux caractères génériques délimités

Dans votre premier exemple, la liste list déclarée comme Liste ne peut pas prendre un objet car Object n'est pas une sous-classe de Number. D'un autre côté, Integer est une sous-classe de Number, il peut donc être ajouté à la liste.

Erreurs de compilation avec super mot-clé

Dans votre deuxième exemple, vous avez tenté de transmettre une liste< Chaîne> à une méthode qui attend un List. Cette erreur de compilation se produit car String n'est pas une sous-classe de Number. La logique que vous avez présentée est incorrecte : l'objet n'est pas une superclasse de Number et la chaîne n'est pas une sous-classe de Number.

RESTRICTIONS SUR CARTES GÉNÉRALES

Contrairement aux caractères génériques de limite inférieure, les caractères génériques de limite supérieure ne peuvent pas être utilisés comme producteurs. Cela signifie que vous ne pouvez pas obtenir des éléments individuels à partir d'un List. Cette restriction existe pour éviter les violations de la sécurité des types.

Conclusion

Les caractères génériques délimités avec super nous permettent de créer des collections qui peuvent consommer des objets de plusieurs types qui héritent d'une superclasse commune. . Cependant, nous devons être prudents lors de l'ajout d'éléments à ces collections, car nous ne pouvons pas ajouter d'objets qui ne sont pas des sous-classes de la superclasse désignée.

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!

source:php.cn
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