Anotações para autoconversões de tipos  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Basicamente quando alguém quer converter um dado para String, a pessoa sobreescreve o método toString, e este é chamado automaticamente quando requerido.
Estava pensando se seria possível ter uma autoconversão em mais tipos/objetos de Java que não fossem somente String.

Obrigar que as pessoas usem um nome de método obrigatório certamente não seria possível, então não dá para aplicar a mesma convenção do toString.

Mas que tal se anotássemos os métodos das classes para que estas fossem as responsáveis pelas conversões. Obviamente o tipo de retorno delas deverá ser o mesmo do anotado, ou um subtipo dela. Também só poderia haver uma anotação dessas por tipo, para não evitar conflitos.

Conversões implícitas ajudariam a diminuir a quantidade de código escrito.

O que acham de conversões implícitas versus explícitas?

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

O problema que a Annotation sozinha não faz nada. Teria que ter uma classe (ou ficaria a cargo do compilador) ver se cada método executado possuia a anotação, verificar qual é e ainda fazer o casting de acrodo com a classe do que se está querendo fazer o casting. Provavelmente o overhead que isso traria não iria compensar.
Acredito que o to String funcionou bem pq toda hora queremos imprimir algo relativo a classe, o que não faria sentido para outras ou para tipos primitivos...

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Sim, o compilador faria o trabalho de substituir o código pelo método certo.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team