Je me demande depuis un certain temps s'il est permis, dans les meilleures pratiques, de s'abstenir d'utiliser la containsKey()
méthode java.util.Map
et de faire une vérification nulle sur le résultat de get()
.
Mon raisonnement est qu'il semble redondant de faire la recherche de la valeur deux fois - d'abord pour le containsKey()
, puis à nouveau pour get()
.
D'un autre côté, il se peut que la plupart des implémentations standard mettent en Map
cache la dernière recherche ou que le compilateur puisse autrement supprimer la redondance, et que pour la lisibilité du code, il est préférable de maintenir la containsKey()
partie.
J'apprécierais beaucoup vos commentaires.
null
, voulez-vous traiter cela différemment en une clé / valeur qui n'est pas définie? Si vous n'avez pas spécifiquement besoin de le traiter différemment, vous pouvez simplement utiliserget()