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?

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.