Estou me preparando para o exame OCPJP 21. Enquanto estudava autoboxing, tenho uma pergunta sobre o snippet abaixo:
class CharacterAutoboxing {
public static void main(String args[]) {
Character p = 97;
System.out.println(p);
Long l = 116L;
System.out.println(l);
// p = (int)l.longValue();
p = (char)(int)l.longValue();
System.out.println(p);
} // end of main
}
Minha consulta é Character p = 97
permitida pelo compilador. 97 é int. Então int é autoboxed em character.
Então por que p = (int)l.longValue();
não é permitido. O compilador está dando exceção, pois int não pode ser convertido para Character