Existem 2 tipos de Casting em Java. Os Castings implícitos e os explícitos. Exemplo:
Se precisamos armazenar o valor de uma variável do tipo Inteiro em outra do tipo Double:
int numInt = 10;
double numDouble = numInt; // cast implícito
Como o tipo double é maior que o tipo Int, ele pode receber o valor da variável numInt.
Para a ver tabela dos tipos com os valores e os seus tamanhos clique aqui.
Quando convertemos um atributo cujo tipo possui um tamanho maior para um de tamanho
menor, necessariamente devemos fazer um casting explícito. Esse possui a seguinte forma:
(tipoDado)valor. Exemplo:
double valDouble = 10.12;
int valInt = (int)valDouble; //converte valDouble para o tipo int
Para converter um valor Double para Inteiro é preciso fazer o cast explícito, pois o Inteiro é menor que o Double
double x = 10.2;
int y = 2;
int result = (int)(x/y); //converte o resultado da operação para int
Já nesse caso estamos fazendo uma divisão entre um Double e um Int. Como a variável "result" é um inteiro, ela deve ter um cast explícito para receber o resultado da operação.
Resumindo: Para converter de um tipo MENOR para um MAIOR, o cast ocorre implicitamente.
Para converter de um tipo MAIOR para um MENOR, o cast ocorre explicitamente, colocando entre parênteses o tipo a ser convertido como nos dois últimos exemplos.
Nenhum comentário:
Postar um comentário