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.