BT

JDK 7: Quais os Métodos Freqüentemente Reescritos que Devem ser Incluídos em java.util.Objects?

por Ryan Slobojan , traduzido por Victor Franzonatto em 16 Set 2009 |

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, e arg1.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?

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT