Esta dúvida eu não poderia deixar de enviar.
Até onde eu sabia, toda literal inteira era tratada como int. Ou seja, o fragmento de código abaixo geraria um erro de cast já que 1,2 e 3 seriam tratados como int e daria um erro de compilação conforme inclusive o Certification Guide pag. 109.
byte b = 1;
short s = 2;
char c = 3;
Só que no meu compilardor Sun 1.4.1 as atribuições são válidas. Agora fica a minha dúvida, caso tenha um questão como vi no simulado:
public class As{
int i = 10;
int j;
char z= 1;
boolean b;
public static void main(String argv[]){
As a = new As();
a.amethod();
}
public void amethod(){
System.out.println(j);
System.out.println(b);
}
}
E eu reponder que roda enquanto uma possível prova destualizada disser que dá erro na atribuição do “z” ?
É possível ter provas destualizadas ? É um bug da minha versão já que ainda não testei com 1.4.2 ?
Está na JLS ? O que devo colocar na prova ?