98 votes

Existe-t-il une méthode statique "à la fois nulle ou égale" standard Java?

Pour économiser de la frappe et clarifier mon code, existe-t-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) );
}
 

188voto

Kdeveloper Points 7034

Avec Java 7, vous pouvez maintenant directement faire un null safe égal:

Objects.equals (x, y)

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

23voto

Matt Points 1447

si par hasard vous avez accès à la bibliothèque Jakarta Commons, il existe ObjectUtils.equals () et beaucoup d'autres fonctions utiles.

EDIT: mal interprété la question initialement

1voto

Michael Myers Points 82361

Non. J'ai vu des personnes suggérer de placer une méthode similaire dans une classe d'utilitaires, mais ce n'est pas dans la bibliothèque standard (la classe Object semble être un bon endroit, mais à qui dois-je la suggérer?).

1voto

Alex Miller Points 28225

Non, j'ai écrit moi-même sur chaque projet sur lequel je suis allé, je pense.

0voto

warren Points 12172

Je sais que cela peut être fait en VB - http://www.csidata.com/custserv/onlinehelp/VBSdocs/vbs428.htm, c'est la EQV de l'opérateur.

Il peut être fait en Perl et C++ s'afficher (X==Y) d'amende si les deux sont NULS.

Basée sur cette page du tutoriel Java de Sun, http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.htmlil semble ne pas être possible.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X