2008-10-08 24 views
81

Para ahorrar algo de tipeo y aclarar mi código, ¿existe una versión estándar del siguiente método?¿Hay un método estático Java "nulo o igual" estático?

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

Solo mis dos centavos. Utilizarí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 fácil de leer para los programadores principiantes. –

+0

¿Puede alguien decir dónde tal cosa es útil? – anjanb

+2

Simplemente le permite omitir las comprobaciones nulas en su método equals(). –

Respuesta

161

Con Java 7 ahora se puede hacer directamente un nulo segura es igual a:

Objects.equals(x, y)

(Los ObjectUtils.equals biblioteca Jakarta Commons() ha quedado obsoleto con Java 7)

+0

Este método también se implementa en Googles Dependency injection-libray Guice. – Niels

+1

Spring también implementa un método similar: nullSafeEquals en ObjectUtils class – jpsstavares

+1

Google Guava tiene Objects.equals() también. – Spina

22

si por alguna casualidad que son tienen acceso a la biblioteca de Jakarta Commons existe ObjectUtils.equals() y muchas otras funciones útiles.

EDIT: leído mal la pregunta inicialmente

0

No. He escrito mi propia en cada proyecto que he estado en que pienso.

Cuestiones relacionadas