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 |
Devuelve el primer objeto que no es nulo |
getIfNull(Objeto T, Proveedor |
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 |
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.
GO TO FULL VERSION