CASTING (CONVERSÃO)

 

Casting é a conversão de objetos ou tipos primitivos de um tipo para outro tipo.

 

Ao se tratar casting, considera-se a necessidade de conversão explícita entre tipos – o que, potencialmente, pode causar perdas de informação. Observe o exemplo a seguir:

 
   int valorShort = 150;
   byte valorByte = valorShort;  //ERRO de compilação
   
   System.out.println("valorByte" +valorByte);
 
 

No exemplo, ocorre um erro de compilação na segunda atribuição, uma vez que está tentando atribuir a valorByte do tipo byte um valor do tipo short, denotando a necessidade de uma conversão explícita, ou seja, de casting. A solução apresentada para o problema é mostrada a seguir:

 
   int valorShort = 150;
   byte valorByte = (byte) valorShort;  //uso de casting
   
   System.out.println("valorByte" +valorByte);
 
 

Basta apenas incluir (byte) na segunda atribuição e o compilador Java entenderá que deverá fazer a conversão mesmo sob risco de perdas de dados, afinal, está se atribuindo um valor do tipo short (16 bits) a uma variável do tipo byte (8 bits).  

Vale ressaltar que não é obrigatório fazer casting de um valor de um dado tipo primitivo para um tipo primitivo maior, pois esta categoria de conversão é sempre permitida.

 
   int valorShort = 150;
   byte valorByte = (byte) valorShort;  //uso de casting
   
   float valorFloat = 10.101f;
   
   doublevalorDouble = valorFloat;    //uso de casting não é necessário
 
 

O casting na última atribuição de float para double não é requisitado pelo compilador Java. De qualquer modo, algumas vezes, se usa o casting, neste caso se usaria (double) antes da variável valorFloat, a fim de tornar mais legível o código.

 

Salienta-se que o casting de tipos primitivos é aplicável a todos, exceto ao tipo boolean (para o qual, não se pode fazer casting de um boolean para qualquer outro tipo e vice-versa).

 

Atividade de Fixação

 

No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como está sua compreensão sobre o mesmo, são sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercício ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento.