O mesmo ocorre entre valores int e long.
long x = 50000;
int e = x; // não compila , pois pode estar perdendo informações.
Fazendo o casting:
long x = 50000;
int e = (int) x;
Existem casos não comuns de casting e atribuição. Alguns castings aparecem também:
float x = 0.0;
O código acima não compila pois todos os literais com o ponto flutuante são considerados double pelo Java. E float não pode receber um double sem perda de informação, para fazer isso funcionar podemos escrever o seguinte:
float x = 0.0f;
A letra f, que pode ser maiúscula ou minúscula, indica que aquele literal deve ser tratado como float.
Outro caso, que é mais comum:
double d = 5;
float f = 3;
float x = f + (float) d;
Obrigado e até a próxima!
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.