Est-il un standard Java “nulles ou égales” méthode statique?
Pour sauver un peu de dactylographie et de clarifier mon code, est-il une version standard de la méthode suivante?
public static boolean bothNullOrEqual(Object x, Object y) {
return ( x == null ? y == null : x.equals(y) );
}
- Quelqu'un peut-il dire où une telle chose est-elle utile ?
- Il permet simplement de sauter null vérifie dans votre méthode equals ().
- Uniquement si vous n'utilisez jamais la bothNullOrEqual fonction que... si vous utilisez est égal directement dans un seul endroit?
- Il semble étrange que vous voulez le même comportement si deux objets sont égaux OU étaient NULLES ...
- Si vous êtes à la mise en œuvre d'une Collection, votre .méthode contains (), quand "o" doit tester "si cette collection contient au moins un élément de e tel que (o==null ? e==null : o.est égal à(e))." De même, votre .méthode remove() a supprimer de tels éléments.
- Juste mes deux cents. Je voudrais utiliser: public static boolean bothNullOrEqual(Objet x, Object o) { return ( x == y || ( x != null && x.equals(y) ) ); } à mon humble avis, C'est plus lisible pour les programmeurs débutants.
- Un autre cas d'utilisation: comparer une valeur pour voir si elle a changé depuis sa précédente valeur au cours d'un sale vérifier.
- Vous pourriez vouloir mettre à jour la réponse sélectionnée à @Kdeveloper Java 7 solution.
Vous devez vous connecter pour publier un commentaire.
Avec Java 7, vous pouvez maintenant faire un null coffre-fort est égal à:
Objets.est égal à(x, y)
(Jakarta Commons bibliothèque ObjectUtils.equals() est devenu obsolète avec Java 7)
return (x == y) || (x != null && x.equals(y));
)si par hasard vous avez accès à Jakarta Commons bibliothèque est ObjectUtils.equals() et beaucoup d'autres fonctions utiles.
EDIT: mal lu la question initialement
Si vous utilisez <1.7 mais ont Goyave disponibles:
Objets.égal à(x, y)