Em preparação para a chegada de uma nova classe na JDK7 chamada java.util.Objects
que conterá métodos utilitários freqüentemente escritos, Joe Darcy da Sun fez uma solicitação para o grupo OpenJDK core-libs-dev para idéias sobre quais métodos devem ser incluídos nesta classe. A InfoQ gostaria de repassar esse pedido junto à comunidade Java.
Em seu post inicial, Darcy destacou um par de métodos que podem ser úteis nesta classe:
- Um método
equals(arg1, arg2)
null-safe que retorna true se ambos os argumentos são NULL, falso se somente um é nulo, earg1.equals(arg2)
, caso contrário - Um conjunto de métodos
compareTo(arg1, arg2)
para todos os tipos primitivos (int, long, etc)
Algumas outras sugestões vieram de Andrew John Hughes, incluindo:
toString(arg) )
, que utilizando reflexão, retornaria uma string com todos os atributos dentro do objeto- Uma implementação utilitária do
clone()
método
Martin Buchholz também propôs uma implementação null-safe para o método hashCode()
, o que retornaria 0 para um objeto nulo.
Stephen Colebourne criou uma longa lista de métodos propostos para esta classe, principalmente pela escolha de métodos existentes nas classes utilitárias do Apache Commons Lang . Algumas dessas propostas incluem:
min(comparable1, comparable2)
e max)(comparable1, comparable2) )
, que seriam null-safe e que retornariam o menor/maior objeto não nulo (ou nulo se ambos os argumentos foram nulos)defaultNull(obj, defaultValue)
, que devolveria o objeto defaultValue se obj fosse nulo
E você, quais são suas idéias? Que métodos devem ser adicionados à java.util.Objects
?