2008-10-08 3 views
81

Pour économiser du texte et clarifier mon code, existe-t-il une version standard de la méthode suivante?Existe-t-il une méthode statique "à la fois nulle ou égale"?

public static boolean bothNullOrEqual(Object x, Object y) { 
    return (x == null ? y == null : x.equals(y)); 
} 
+6

Juste mes deux cents. J'utiliserais: public static boolean bothNullOrEqual (objet x, objet y) { return (x == y || (x! = Null && x.equals (y))); } À mon humble avis, il est plus lisible pour les programmeurs débutants. –

+0

Quelqu'un peut-il dire où une telle chose est utile? – anjanb

+2

Il vous permet simplement d'ignorer les vérifications nuls dans votre méthode equals(). –

Répondre

161

Avec Java 7, vous pouvez maintenant faire directement un nul sûr égal:

Objects.equals(x, y)

(est devenu obsolète avec Java 7 Les ObjectUtils.equals bibliothèque Jakarta Commons())

+0

Cette méthode est également implémentée dans Googles Dependency injection-libray Guice. – Niels

+1

Spring implémente également une méthode similaire: nullSafeEquals sur la classe ObjectUtils – jpsstavares

+1

Google Gava a également Objects.equals(). – Spina

22

si par hasard vous êtes avoir accès à la bibliothèque de Jakarta Commons il y a ObjectUtils.equals() et beaucoup d'autres fonctions utiles.

EDIT: mal interprété la question initialement

0

Non, j'ai écrit mon propre à chaque projet, je suis sur que je pense.

Questions connexes