O que é conversão de tipos em Java | Entendendo o casting de tipos como iniciante

Publicados: 2020-03-27

Programação é um conjunto de instruções, em uma linguagem especial, dadas ao computador para realizar um conjunto de tarefas. Embora muitas pessoas estejam usando as linguagens para fins profissionais, alguns desenvolvedores a veem como uma forma de brincar com dados e criar funções, soluções e análises; eles nunca pensaram ser possível.

Estudantes de ciências estão bem cientes de que existem diferentes linguagens de programação, e uma das mais proeminentes em Java. Nenhum estudante de engenharia da computação pode ficar distante dessa linguagem. Mais importante, os profissionais podem estudar linguagem de programação de forma independente.

Curiosamente, Java é uma linguagem de programação que possui vários tipos de dados para desafiar e interessar os desenvolvedores. No entanto, a familiaridade com os tipos de dados é importante para brincar com os dados e criar instruções de acordo com o objetivo final. No momento da codificação, um desenvolvedor pode precisar alterar os tipos de dados para saber como a variável funciona dentro do código – esse teste da variável de dados é conhecido como Type Casting.

Em palavras mais simples, os programadores de computador alteram um tipo de dados para outro tipo de dados para que uma função processe corretamente uma variável. Exemplos típicos incluem converter um número de ponto flutuante em um inteiro ou um inteiro em uma string.

Índice

Entendendo a conversão de tipos em Java

Agora que a mecânica do typecasting está clara, é hora de mudar a atenção para o typecasting em Java.

Typecasting, ou conversão de tipo, é o processo de atribuir o valor de um tipo de dados primitivo a outro tipo de dados primitivo. Os programadores precisam verificar antecipadamente a compatibilidade do tipo de dados que estão atribuindo a outro tipo de dados. O typecasting é executado automaticamente se houver compatibilidade entre os dois tipos de dados. Esse tipo de conversão é chamado de conversão automática de tipo. Por outro lado, na ausência de compatibilidade entre os dois tipos de dados, a conversão ou conversão ocorre explicitamente.

Typecasting em Java também é a conversão de uma classe ou interface em outra classe ou interface. Java suporta polimorfismo e herança, pois é uma linguagem de programação orientada a objetos. Pode haver instâncias em que um objeto SubClass é apontado como uma variável de referência SuperClass. No entanto, um compilador Java não saberá disso. Portanto, chamar um método que foi declarado na SubClass é inútil. Para torná-lo um exercício útil, você precisa primeiro converter um objeto SubClass no tipo em que ele existia originalmente. Este é um ótimo exemplo de como a conversão de tipos em Java funciona.

Leia: Escopo futuro dos desenvolvedores de pilha completa

Conhecer typecasting não é suficiente, pois é igualmente importante estar bem ciente das regras Java que precisam ser seguidas. Uma dessas regras diz que interfaces ou classes pertencentes a uma única hierarquia de tipo podem ser convertidas ou convertidas umas nas outras. Se objetos sem a mesma hierarquia de tipo ou relacionamento pai-filho forem convertidos, um erro em tempo de compilação será exibido na tela.

Vejamos outro cenário que você pode enfrentar como desenvolvedor ao escolher dois objetos que pertencem à mesma hierarquia de tipos. Mas, se o tipo do objeto que você está lançando e o tipo de objeto no qual você está lançando não forem os mesmos, você receberá uma ClassCastException.

O mais surpreendente é que muitos desenvolvedores e programadores desconhecem a importância do typecasting. Typecasting fornece acesso a métodos e campos nos quais a classe ou tipo de destino é declarado. Não há outra maneira de acessá-los.

Agora, vamos olhar para a conversão ou conversão de tipo diferente em Java

Existem dois tipos de conversão ou conversão, ou seja, conversão de tipo primitivo e conversão de tipo de referência.

Tipos de Casting em Java

Fundição do tipo primitivo

Ele permite que o desenvolvedor converta o valor de uma primitiva em outra. Os sete valores de tipo de dados primitivos são Boolean, Byte, Char, Short, Int, Long, Float e Double. Existem dois subtipos de conversão de tipo primitivo:

1. Ampliação da fundição ou conversão implícita:

A conversão de ampliação envolve a conversão de um tipo de dados com um valor mais baixo em um tipo de dados com um valor mais alto (tipo de dados de ampliação) sem perda de informações. É um grande risco na precisão da conversão ao considerar uma conversão mais ampla entre diferentes tipos de dados numéricos. A perda de pequenos pedaços de informação ou valor é possível.

Leia também: Ideias e tópicos de projetos de pilha completa

2. Reduzindo a transmissão ou conversão explícita:

É o oposto da ampliação da fundição. Envolve a conversão de um tipo de dados com um valor mais alto em um tipo de dados com um valor mais baixo (tipo de dados mais estreito). Se não for manuseado com cuidado, pode levar à perda de informações.

Uma conversão implícita não exige que o desenvolvedor forneça entradas e é executada automaticamente. Por outro lado, uma conversão explícita é realizada apenas pelo desenvolvedor.

Cast de tipo de referência

Se dois tipos diferentes de classes estiverem associados entre si por herança e uma dessas classes for a Subclasse de outra, essas classes poderão sofrer conversão. É importante garantir que a conversão esteja alinhada com as regras de tempo de execução, bem como as regras de tempo de compilação em Java. A conversão de tipo de referência é dividida em dois tipos:

1. Elevação:

O upcasing envolve a conversão de um objeto de SubType em um objeto de SuperType. Java tem a possibilidade de atribuir o objeto sem exigir a adição de uma conversão explícita. O compilador saberia o que está sendo feito e converteria o valor de SubType em SuperType. Desta forma, o objeto é levado a um nível básico. Os desenvolvedores podem adicionar um elenco explícito sem se preocupar com nenhum problema.

2. Rebaixamento:

O downcasting envolve a conversão de um objeto SuperType em um objeto Subtype. É o casting usado com mais frequência em que é comunicado ao compilador que o valor do objeto base não é próprio, mas do objeto SuperType.

Empacotando

Para assinar, aprender Java typecasting é necessário para se tornar um desenvolvedor ou programador de sucesso. A intenção é definir funções e, em seguida, garantir que as variáveis ​​dentro da comunicação sejam executadas de acordo com a funcionalidade final. Conhecer e dominar os diferentes tipos de metodologias de casting ajuda muito o programador a entregar as funcionalidades mais complexas. Em palavras diretas, é fundamental que grandes empresas e marcas melhorem o engajamento do usuário final.

Se você estiver interessado em aprender mais sobre desenvolvimento full stack, confira o PG Diploma in Full-stack Software Development da upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, IIIT -B Status de ex-aluno, projetos práticos práticos e assistência de trabalho com as principais empresas.

Prepare-se para uma carreira do futuro

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM DESENVOLVIMENTO DE SOFTWARE FULL STACK
INSCREVA-SE AGORA @ UPGRAD