Les génériques de fonctions Java permettent de définir des fonctions génériques qui acceptent différents types de paramètres et renvoient différents types de résultats. Les limites définissent la portée d'un type de paramètre, spécifié à l'aide de extends (sous-classe) et super (superclasse). Les contraintes restreignent davantage le comportement, comme exiger une sous-classe Number ou un type comparable. L'exemple de fonction max utilise des limites de type et des contraintes pour garantir que ses paramètres sont comparables et accepte différents types tels que Integer et Double.
En Java, les génériques de fonctions nous permettent de définir des fonctions génériques qui peuvent accepter différents types de paramètres et renvoyer différents types de résultats. En utilisant des paramètres de type, les fonctions génériques peuvent améliorer la réutilisabilité du code, la sécurité du type et réduire la duplication de code.
Bounds: Lors de la déclaration d'une fonction générique, nous pouvons spécifier les limites des paramètres de type. Les limites définissent la plage de types de paramètres qu'une fonction est autorisée à accepter. Les types de limites les plus couramment utilisés sont :
Contraintes : En plus des limites, nous pouvons également utiliser des contraintes pour restreindre davantage le comportement des fonctions génériques. Les contraintes peuvent être utilisées pour garantir que les paramètres de type répondent à des exigences spécifiques. Les contraintes les plus couramment utilisées sont :
Ce qui suit est un exemple de fonction générique utilisant des limites et des contraintes de type :
public static <T extends Number & Comparable<T>> T max(T a, T b) { if (a.compareTo(b) > 0) { return a; } else { return b; } }
Dans cette fonction, nous définissons un paramètre de type T
, qui doit être Number
et implémente l'interface Comparable
. Ces limites et contraintes garantissent que nous ne pouvons transmettre que des objets de types pouvant être comparés numériquement à la fonction. T
,它必须是 Number
类的子类,并实现 Comparable
接口。此边界和约束条件确保了我们仅能将可以进行数值比较的类型对象传递给该函数。
我们可以这样使用此函数:
Integer maxValue = max(5, 10); Double maxValue = max(3.14, 2.71);
请注意,在这个例子中,我们使用了不同的类型(Integer
和 Double
Integer
et Double
), mais ils satisfont tous les deux Boundaries et contraintes sur la fonction pour que la fonction fonctionne correctement. 🎜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!