:?: Existe uma precedência sombreada aqui no que diz respeito a Var-args, no entanto o Código Compila ,porque isso acontece ? Ele quebra uma regra da Classes Wrapper e compila sem erros !!!
O codigo esta correto, qual o problema?
na primeira chamada vc passa 2 objetos Short como parametro, como não existe nenhum metodo que receba Short, mas sim Number e Short herda de Number, logo…
na segunda vc passa dois literais numericos, que no java SEMPRE são int, logo vai ser chamado o metodo que espera 2 objetos Integer.
qual o problema?
[]´s
F
fabioEM
Marcio Duran:
:idea: [size=18]Amplificação & AutoBoxing[/size]
:?: Existe uma precedência sombreada aqui no que diz respeito a Var-args, no entanto o Código Compila ,porque isso acontece ? Ele quebra uma regra da Classes Wrapper e compila sem erros !!!
Cara ta tudo certo ai!O compilador em primeiro momento verifica na sequencia,
1)se pode casar o mesmo tipo
2) se nao procura ampliacao ,lembreçe que não vale para wrappers!!
3) se nao procura wrappers
4)se nao procura Number
5)se nao procura Objeto
6) por ultimo procura varg args
Marcio_Duran
fabioEM:
Cara ta tudo certo ai!O compilador em primeiro momento verifica na sequencia,
1)se pode casar o mesmo tipo
2) se nao procura ampliacao ,lembreçe que não vale para wrappers!!
3) se nao procura wrappers
4)se nao procura Number
5)se nao procura Objeto
6) por ultimo procura varg args
:shock: Posso fazer Boxing para amplia-los para Numbers, e isso tem prioridade para metodos Var-args.Ai , vem o compilador vai de encontro pela a regra por procedência e auto-classfica a amplicaficação ou mesmo um boxing simples de int para Integer.
:idea: Esse Java 5, deve ter cerebro !!!
Correto em suas observações !!!
Marcio_Duran
jgbt:
O codigo esta correto, qual o problema?
na primeira chamada vc passa 2 objetos Short como parametro, como não existe nenhum metodo que receba Short, mas sim Number e Short herda de Number, logo…
na segunda vc passa dois literais numericos, que no java SEMPRE são int, logo vai ser chamado o metodo que espera 2 objetos Integer.
qual o problema?
[]´s
Concordo mas a forma como o compilador se comporta e algo que não imaginava, ela toma suas decisões por regras e se vale ou não para uma ela classifica a melhor e sai compilando, ao menos nesse caso.