se ñ me engano neste caso o compilador acusa uma ambiguidade, da erro e ñ compila
luiz_renato
Rapaz,
Testei e compila mas tbm não sei porque deu o resultado.
Luiz Renato
evertonsilvagomesjav
Compila sim, agora não sei os critérios que a JVM escolheu o método com Integer.
E
entanglement
Ele escolheu o método mais específico (porque Object -> Number -> Integer). Mas se você também tivesse um método que recebesse um java.lang.Double, teria uma ambiguidade, porque tanto Object -> Number -> Integer quanto Object -> Number -> Double teriam o mesmo “grau de especificidade”.
evertonsilvagomesjav
Falouu e disse!!!
quikkoo
fiz o teste aqui, cheguei a conclusão que o entanglement disse, existe uma hierarquia entre as 3 classes, daí ele escolheu o tipo mais específico, mas eu ñ sabia dessa, já havia acontecido isso cmg mas eram com classes em que ñ havia uma hierarquia
flw, t+
deyvid
Valeu evertonsilvagomesjava estas foi uma grande contribuição
Mas é, em geral, uma boa prática não confiar no Java em situações desse tipo. A especificação do Java em relação ao que é “mais específico” não é muito clara e, embora tenha sido revisada após a inclusão dos generics, ainda pode ser ambígua entre VMs diferentes.