Les limites génériques Java spécifient des contraintes sur les paramètres de type, garantissant que seuls les types qui satisfont à ces contraintes peuvent être utilisés. Il existe deux types de limites génériques : les limites supérieures (extends) et les limites inférieures (super). Une limite supérieure nécessite que le paramètre de type soit une sous-classe du type spécifié, tandis qu'une limite inférieure nécessite que le paramètre de type soit une superclasse du type spécifié. Les limites génériques améliorent la sécurité des types, les performances et la lisibilité du code.
Bordure des génériques Java et son rôle
Vue d'ensemble
Les génériques sont une fonctionnalité puissante de Java qui nous permet de créer des classes et des méthodes qui fonctionnent avec différents types de données. Les limites génériques nous permettent de spécifier des contraintes sur les paramètres de type, garantissant que seuls les types qui satisfont à ces contraintes peuvent être utilisés.
Types de limites génériques
Java fournit deux types de limites génériques :
Utilisation de limites génériques
Lors de l'utilisation de limites génériques, nous spécifierons les limites dans la déclaration générique :
<T extends Number> // 上限边界
Le mot-clé extends
signifie que T
doit être un sous-classe de la classe Number
ou Number
elle-même. extends
关键字表示 T
必须是 Number
类的子类或 Number
本身。
<? super String> // 下限边界
super
关键字表示 T
必须是 String
类的超类或 String
本身。
实战案例
让我们创建一个 LinkedList
来存储数字,并使用上限边界来确保列表中只包含 Number
类型:
import java.util.LinkedList; class NumberList<T extends Number> { private LinkedList<T> numbers; public NumberList() { numbers = new LinkedList<>(); } public void add(T number) { numbers.add(number); } public T get(int index) { return numbers.get(index); } }
在这个例子中,T
被限制为 Number
的子类,这意味着我们只能添加和检索 Number
及其子类(如 Integer
和 Double
rrreee
super
signifie que T
doit être une superclasse de la classe String
ou de String
elle-même. Cas pratique
Créons uneLinkedList
pour stocker des nombres et utilisons une limite supérieure pour garantir que la liste ne contient que Number
Tapez : T
est limité à une sous-classe de Number
, ce qui signifie que nous pouvons uniquement ajouter et récupérer Number
et ses sous-classes (telles que Integer
et Double
). 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!