Anotações para autoconversões de tipos

2 respostas
B

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?

2 Respostas

renzonuccitelli

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…

B

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

Criado 3 de outubro de 2008
Ultima resposta 4 de out. de 2008
Respostas 2
Participantes 2