Para ahorrar algo de escritura y aclarar mi código, ¿hay una versión estándar del siguiente método?
public static boolean bothNullOrEqual(Object x, Object y) {
return ( x == null ? y == null : x.equals(y) );
}
desarrollador
Con Java 7, ahora puede hacer directamente un igual seguro nulo:
(La biblioteca de Jakarta Commons ObjectUtils.equals() se ha vuelto obsoleta con Java 7)
-
Este método también se implementa en la biblioteca de inyección de dependencias de Google, Guice.
– Niels
11 de junio de 2012 a las 12:30
-
Spring también implementa un método similar: nullSafeEquals en la clase ObjectUtils
– jpsstavares
17 de julio de 2012 a las 16:32
-
Google Guava también tiene Objects.equals().
– Espina
11 de abril de 2013 a las 18:27
-
Esto solo es nulo seguro con respecto a x. Para y depende de la implementación de los iguales del objeto dado. (la implementación es
return (x == y) || (x != null && x.equals(y));
)– emi-le
6 de abril de 2018 a las 9:09
Mate
si por casualidad tiene acceso a la biblioteca de Jakarta Commons, hay ObjectUtils.equals() y muchas otras funciones útiles.
EDITAR: leyó mal la pregunta inicialmente
Si está usando Objects.equal(x, y)
¿Alguien puede decir dónde es útil tal cosa?
– anjanb
8 oct 2008 a las 21:43
Simplemente le permite omitir las comprobaciones nulas en su método equals().
– Michael Myers
♦
8 de octubre de 2008 a las 21:47
Si está implementando una Colección, su método .contains(), cuando se le da “o” necesita probar “si esta colección contiene al menos un elemento e tal que (o==null ? e==null : o.equals(e )).” De manera similar, su método .remove() tiene que eliminar dicho elemento.
– nueva cuenta
9 de julio de 2009 a las 6:16
Solo mis dos centavos. Yo usaría: public static boolean bothNullOrEqual(Object x, Object y) { return ( x == y || ( x != null && x.equals(y) ) ); } En mi humilde opinión, es más legible para los programadores novatos.
– m_vitaly
5 de septiembre de 2010 a las 7:49
Otro caso de uso: compare un valor para ver si ha cambiado de su valor anterior durante una verificación sucia.
– Neromante
16 de noviembre de 2013 a las 23:48