Acho que acabei de encontrar um bug no compilador do java 1.3.1. Não testei no 1.4 e acima pra ver se dá o mesmo resultado.
Isso aqui não compila:
Object x = true ? new Integer(1) : "string";
Mas isso aqui compila:
Object x = true ? (Object) new Integer(1) : "string";
ou isso:
Object x = true ? new Integer(1) : (Object) "string";
Alguém já ouviu falar de upcasting?
A mesma coisa acontece quando você tenta fazer isto no 1.4 ou 1.5...
ResponderExcluirOu melhor... Escreva este código no editor do Eclispe, ele reclama que o operador ternário não está correto.
Tive que utilizar esta instrução no JASPER REPORT e me deparei com este problema...
Mas fazer o que??? Tem que seguir a regra. :(