Maison >Java >javaDidacticiel >Pourquoi les méthodes `remove()` des collections Java ne sont-elles pas génériques ?
Pourquoi les méthodes Remove des collections Java ne sont-elles pas génériques ?
Le framework Java Collections fournit une méthode Remove() pour les collections et les cartes. Cependant, cette méthode n’est pas générique, ce qui signifie qu’elle accepte un objet comme argument plutôt qu’un paramètre de type E. Cette décision a soulevé des questions sur les avantages potentiels de rendre Remove() générique.
Un argument en faveur de rendre Remove() générique est que cela pourrait empêcher les erreurs de compilation lors d'une tentative accidentelle de suppression d'un type incompatible d'une collection. . Par exemple, si une collection
Cependant, la raison pour laquelle Remove() n'est pas générique est principalement parce qu'il permet le suppression d'objets basée sur l'égalité plutôt que sur une vérification de type stricte. Selon la spécification de la méthode remove(), l'élément à supprimer est identifié comme un objet e tel que (o==null ? e==null : o.equals(e)) est vrai. Cela permet une flexibilité dans la suppression des éléments, car l'objet supprimé n'a pas besoin d'être du même type que l'objet passé à la méthode remove().
À titre d'exemple, il est possible d'avoir un Map
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!