.:N:.
Eu estou seguindo a apostila e captando bem o explicado, agora tem um exercicio que irei postar abaixo que a resposta esta errada na apostila… quando vi o enunciado respondi conforme eu tinha visto na apostila, e acreditei ter acertado… quando fui ver a resposta… surpresa! Minha resposta esta errada… mas bah, eu digitei o código pois queria ver se estava errado mesmo, e outra surpresa a apostila esta errada, ou eu acho… vou postar aq para ver se alguem comenta algo sobre isso, se eu estou errado por não ter percebido algo ou é erro da apostila mesmo.
.
.
.
segue o codigo.
.
.
.
.
package Seiken;
public class Teste {
static String s="";
public static void main(String[] args)
{
int x=4;
Boolean y=true;
short[] sa={1,2,3};
doStuff(x,y);
doStuff(x);
doStuff(sa,sa);
System.out.println(s);
}
static void doStuff(Object o)
{
s+="1";
}
static void doStuff(Object... o)
{
s+="2";
}
static void doStuff(Integer... i)
{
s+="3";
}
static void doStuff(long L)
{
s+="4";
}
}
Qual o resultado?
A 212
B 232
C 234
D 312
E 332
F 334
G Ocorre falha na compilação.
.
a resposta da apostila é:
A Esta correta. É uma operação legal fazer o boxing e, em seguida, ampliar. O primeiro chamado para doStuff() faz o boxing de int par aum Integer, em seguida, passa dos objetos. O segundo chamado não pode ser ampliado (tornando o método Long inútil), então, ele faz o boxing de int em um Integer. Como sempre, ao transmitir dosi objetos, eles são do tipo array de short.
.
.
só que a resposta da apostila esta errada dammit! A resposta é 242…
.
postei isso aq só para ver SE alguem irá comentar algo, se eu deixei de ver algo… sei lá, de qualquer forma tendo ou não respostas esta ai, um erro na apostila.
.
Obs: Digitei exatamente igual a apostila.
.:N:.