Pessoal podem me ajudar na questão abaixo ?
Tinha entendido que, tudo o que roda no Java 5 tem que roda nas versões mais antigas do Java.
Com esse pensamento foi resolver a questão abaixo:
publicclasstesteQuestao{publicstaticvoidgo(Shorts){System.out.println("Utilizou SHORT ");}publicstaticvoidgo(Longl){System.out.println("Utilizou LONG ");}publicstaticvoidgo(inti){System.out.println("Utilizou int");}publicstaticvoidmain(Stringargs[]){shortx=7;longy=6;go(x);go(y);}}
As opções:
a) O codigo não compila.
b) O codigo roda mas gera uma exceção em tempo de execução.
c) Utilizou SHORT Utilizou LONG
d) Utilizou int Utilizou LONG
Tipo com o pensamento que eu tinha logo de cara procurei pela resposta : Utilizou int Utilizou int
e não tem !!!
Pessoal podem me ajudar na questão abaixo ?
Tinha entendido que, tudo o que roda no Java 5 tem que roda nas versões mais antigas do Java.
Com esse pensamento foi resolver a questão abaixo:
publicclasstesteQuestao{publicstaticvoidgo(Shorts){System.out.println("Utilizou SHORT ");}publicstaticvoidgo(Longl){System.out.println("Utilizou LONG ");}publicstaticvoidgo(inti){System.out.println("Utilizou int");}publicstaticvoidmain(Stringargs[]){shortx=7;longy=6;go(x);go(y);}}
As opções:
a) O codigo não compila.
b) O codigo roda mas gera uma exceção em tempo de execução.
c) Utilizou SHORT Utilizou LONG
d) Utilizou int Utilizou LONG
Tipo com o pensamento que eu tinha logo de cara procurei pela resposta : Utilizou int Utilizou int
e não tem !!!
Bom tem uma pergunta dessas na pagina anterior vc podia dar uma olhada q la tema resposta mas…vamos lá.
vc tem que olhar NESTE CASO o que a JVM vai utilizar de meios mais faceis sendo assim: “ampliação” se nao tiver como fazer ela procura por “objetos wrappers (autoboxing)” e depois procura por varargs…
Sendo assim nesse caso quando vc passa um short para o método go() ele vai fazer uma ampliaçao para int, ao invez de fazer autoboxing para Short, e quando vc passa um long para o metodo go() ele vai fazer autoboxing para Long.
S
SemChance
Entaum, para o JVM é mais facil fazer o AutoBoxing para Long e pq não é mais facil fazer o autoBoxing para o Short tb ?.
Se rodasse esse codigo em versões anteriores do Java 5 a resposta seria Utilizou int Utilizou int ?
Obrigado pelas respostas.
evertonsilvagomesjav
SemChance:
Entaum, para o JVM é mais facil fazer o AutoBoxing para Long e pq não é mais facil fazer o autoBoxing para o Short tb ?.
Se rodasse esse codigo em versões anteriores do Java 5 a resposta seria Utilizou int Utilizou int ?
Obrigado pelas respostas.
ela nao fez autoBoxing para Short porque tem um “int” como parametro, então um short “cabe” em um int por isso nao faz o autoBoxing.
S
SemChance
Opa entendi … !
E ele faz o AutoBoxing para o Long, pois o long passado no metodo go() não cabe dentro do int.
Obrigado.
evertonsilvagomesjav
SemChance:
Opa entendi … !
E ele faz o AutoBoxing para o Long, pois o long passado no metodo go() não cabe dentro do int.
Obrigado.