Introducción a la clase ObjectUtils

Métodos:

allNotNull(Objeto...valores) Comprueba que todos los objetos no son nulos
allNull(Objeto...valores) Comprueba que todos los objetos son nulos
anyNotNull(Objeto...valores) Comprueba que al menos un objeto no es nulo
anyNull(Objeto... valores) Comprueba que al menos un objeto es nulo
clonar(T obj) Clona un objeto
cloneIfPossible(T obj) Clona un objeto o devuelve el original
comparar(T c1, T c2) Compara objetos
defaultIfNull(T objeto, T defaultValue) Devuelve el objeto predeterminado si el objeto es nulo
es igual a (Objeto objeto1, Objeto objeto2) Compara dos objetos
notEqual(Objeto objeto1, Objeto objeto2) Comprobar si dos objetos no son iguales
firstNonNull(T...valores) Devuelve el primer objeto que no es nulo
getFirstNonNull(Proveedor ... proveedores) Devuelve el primer objeto que no es nulo
getIfNull(Objeto T, Proveedor proveedor predeterminado) Devuelve el objeto dado si no es nulo; de lo contrario, devuelve el valor de Proveedor.get() del Proveedor pasado
código hash(obj) Calcula el hashCode para un objeto
hashCodeMulti(Objeto... objetos) Calcula hashCode para un grupo de objetos.
estáVacío(Objeto objeto) Comprueba si un objeto está vacío o nulo
no está vacío (objeto objeto) Comprueba si un objeto no está vacío o nulo
requireNonEmpty(T obj) Comprueba si un objeto no es nulo, de lo contrario lanza una excepción
requireNonEmpty(T obj, Mensaje de cadena) Comprueba si un objeto no es nulo, de lo contrario lanza una excepción
IdentityToString(Objeto objeto) Devuelve una cadena para un objeto.
toString(Objeto objeto) Devuelve una cadena para un objeto.
toString(Objeto obj, Cadena nullStr) Devuelve una cadena para un objeto.
toString(Objeto obj, Proveedor proveedor) Devuelve una cadena para un objeto.

Veamos un método de cada grupo. Espero que los use a menudo, porque son muy convenientes y le permiten evitar código innecesario.

ObjectUtils.compare()

El método compara objetos de la misma manera que el comparador: mayor que, menor que o igual a. Se puede utilizar para clasificar objetos.

La firma del método se ve así:

public static <T extends Comparable<? super T>> int compare(final T c1, final T c2);
public static <T extends Comparable<? super T>> int compare(final T c1, final T c2, final boolean nullGreater);

Si el tercer parámetro ( nullGreater ) es verdadero , null siempre se considerará mayor que non- null . El método devuelve positivo si c1> c2, negativo si c1<c2 y 0 si c1 == c2.

Ejemplo:

String firstValue = "codeGym";
String secondValue = "codeGym";
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();

firstValue = "codeGym";
secondValue = null;
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();

firstValue = "";
secondValue = "codeGym";
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();

El programa mostrará el resultado:

0
1
-8

ObjectUtils.isNotEmpty()

El método isNotEmpty() comprueba que el objeto que se le pasa no está vacío ni es nulo .

Firma del método:

public static boolean isNotEmpty(final Object object)

Ejemplo:

List<String> values = new ArrayList<>();
System.out.println(ObjectUtils.isNotEmpty(values));

values.add("codeGym");
System.out.println(ObjectUtils.isNotEmpty(values));

values = null;
System.out.println(ObjectUtils.isNotEmpty(values));

El resultado se mostrará en la pantalla:

false
true
false

java.util.Objetos

A los desarrolladores de Java les gustó mucho la idea de ObjectUtils , por lo que en JDK 7 agregaron los suyos propios:

esNulo(Objetoobj) Comprueba si un objeto es nulo
nonNull(Objeto obj) Comprueba si un objeto no es nulo
toString(Objeto) Convierte un objeto en una cadena
toString(Objeto, String nullDefault) Convierte un objeto en una cadena
booleano es igual a (Objeto a, Objeto b) Compara objetos
booleano deepEquals(Objeto a,Objeto b) Compara objetos
T requiereNonNull(T obj) Comprueba si el parámetro pasado no es nulo
T requireNonNull(T obj,Mensaje de cadena) Comprueba si el parámetro pasado no es nulo
int hashCode(Objeto o) Calcula el hashCode para un objeto
int hash(Objeto...valores) Calcula hashCode para un grupo de objetos.
comparación int(T a,T b,Comparador c) Compara objetos

Dado que la clase java.util.Objects es parte del JDK, se recomienda que la use en su código.

Es importante tener en cuenta que cuando lea el código de otra persona, lo más probable es que encuentre opciones de ObjectUtils , esto sucede a menudo en código abierto. Aquí puedes ver en qué se diferencian.