domingo, 15 de maio de 2011

Um pouco sobre Casting.

Quando precisamos armazenar o valor de uma variável em outra de tipo diferente usamos o Casting.
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