Introdução à classe ObjectUtils
Métodos:
allNotNull(Objeto...valores) | Verifica se todos os objetos não são nulos |
allNull(Objeto...valores) | Verifica se todos os objetos são nulos |
anyNotNull(Object...values) | Verifica se pelo menos um objeto não é nulo |
anyNull(Objeto... valores) | Verifica se pelo menos um objeto é nulo |
clone(T obj) | Clona um objeto |
cloneSePossível(T obj) | Clona um objeto ou retorna o original |
compare(T c1, T c2) | Compara objetos |
defaultIfNull(T objeto, T defaultValue) | Retorna o objeto padrão se o objeto for nulo |
equals(Objeto objeto1, Objeto objeto2) | Compara dois objetos |
notEqual(Objeto objeto1, Objeto objeto2) | Verifique se dois objetos não são iguais |
firstNonNull(T...values) | Retorna o primeiro objeto que não é nulo |
getFirstNonNull(Fornecedor |
Retorna o primeiro objeto que não é nulo |
getIfNull(objeto T, Fornecedor |
Retorna o objeto fornecido se não for nulo, caso contrário, retorna o valor Supplier.get() do fornecedor passado |
hashCode(obj) | Calcula o hashCode para um objeto |
hashCodeMulti(Objeto... objetos) | Calcula hashCode para um grupo de objetos |
isEmpty(Objeto objeto) | Verifica se um objeto está vazio ou nulo |
isNotEmpty(objeto objeto) | Verifica se um objeto não está vazio ou nulo |
requeremNonEmpty(T obj) | Verifica se um objeto não é nulo, caso contrário, lança uma exceção |
requireNonEmpty(T obj, String message) | Verifica se um objeto não é nulo, caso contrário, lança uma exceção |
identidadeToString(objeto objeto) | Retorna uma string para um objeto |
toString(objeto obj) | Retorna uma string para um objeto |
toString(Object obj, String nullStr) | Retorna uma string para um objeto |
toString(Objeto obj, Fornecedor |
Retorna uma string para um objeto |
Vejamos um método de cada grupo. Espero que você os use com frequência, porque eles são muito convenientes e permitem evitar códigos desnecessários.
ObjectUtils.compare()
O método compara objetos da mesma forma que o comparador: maior que, menor que ou igual a. Pode ser usado para classificar objetos.
A assinatura do método fica assim:
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);
Se o terceiro parâmetro ( nullGreater ) for true , null sempre será considerado maior que non- null . O método retorna positivo se c1> c2, negativo se c1<c2 e 0 se c1 == c2.
Exemplo:
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();
O programa exibirá o resultado:
0
1
-8
ObjectUtils.isNotEmpty()
O método isNotEmpty() verifica se o objeto passado para ele não é vazio nem nulo .
Assinatura do método:
public static boolean isNotEmpty(final Object object)
Exemplo:
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));
O resultado será exibido na tela:
false
true
false
java.util.Objects
Os desenvolvedores Java gostaram muito da ideia do ObjectUtils , então no JDK 7 eles adicionaram o seu próprio:
isNull(Objectobj) | Verifica se um objeto é nulo |
nonNull(Object obj) | Verifica se um objeto não é nulo |
toString(Objeto) | Converte um objeto em uma string |
toString(Objeto, String nullDefault) | Converte um objeto em uma string |
boolean equals(Objeto a,Objeto b) | Compara objetos |
boolean deepEquals(Objeto a, Objeto b) | Compara objetos |
T requireNonNull(T obj) | Verifica se o parâmetro passado não é nulo |
T requireNonNull(T obj,String message) | Verifica se o parâmetro passado não é nulo |
int hashCode(Objeto o) | Calcula o hashCode para um objeto |
int hash(Objeto...valores) | Calcula hashCode para um grupo de objetos |
int compare(T a,T b,Comparador c) | Compara objetos |
Como a classe java.util.Objects faz parte do JDK, é recomendável usá-la em seu código.
É importante observar que, quando você lê o código de outra pessoa, provavelmente encontrará opções de ObjectUtils , isso geralmente acontece em código aberto. Aqui você pode ver como eles diferem.
GO TO FULL VERSION