Como verificar o tipo de uma variável em Java

Hassan Saeed 12 outubro 2023
  1. Utilizando getClass().getSimpleName() para verificar o Tipo de uma Variável em Java
  2. Utilizando getClass().getTypeName() para verificar o Tipo de uma Variável em Java
  3. Conclusão
Como verificar o tipo de uma variável em Java

Em Java, conhecer o tipo de uma variável ou objeto é crucial para escrever um código eficiente e flexível.

Duas abordagens comumente utilizadas para verificar o tipo de uma variável envolvem os métodos getClass().getSimpleName() e getClass().getTypeName().

Neste artigo, vamos apresentar como utilizá-los para obter os tipos de variáveis e objetos em Java.

Utilizando getClass().getSimpleName() para verificar o Tipo de uma Variável em Java

Podemos verificar o tipo de uma variável em Java chamando o método getClass().getSimpleName() através da variável.

Esses métodos fornecem informações sobre a classe em tempo de execução de um objeto e o nome totalmente qualificado do seu tipo, respectivamente.

O método getClass() é um recurso fundamental disponível para todos os objetos em Java. Ele fornece informações sobre a classe em tempo de execução de um objeto, permitindo que você entenda o tipo do objeto dinamicamente. Eis a sintaxe para utilizar o método getClass():

Class<?> objectClass = object.getClass();

Agora, vamos detalhar como utilizar o getClass():

Passo 1: Criar um Objeto

Para começar, você precisa de um objeto cujo tipo deseja determinar. Para este exemplo, vamos criar uma instância da classe String:

Object myObject = new String("Hello, Java!");

Passo 2: Chamar o Método getClass()

Em seguida, você pode invocar o método getClass() no objeto:

Class<?> objectClass = myObject.getClass();

A variável objectClass agora contém um objeto Class representando a classe em tempo de execução de myObject.

Passo 3: Explorar Informações da Classe

Com o objeto Class disponível, você pode explorar diversos aspectos da classe, como seu nome, modificadores, superclasse e interfaces implementadas. Por exemplo, para obter o nome simples da classe (sem informações do pacote), você pode utilizar getSimpleName():

String className = objectClass.getSimpleName();

Isso retorna o nome simples da classe, que, neste caso, é "String".

Exemplo Completo de Código

Aqui está o código completo para utilizar getClass():

public class GetTypeUsingGetClass {
  public static void main(String[] args) {
    Object myObject = new String("Hello, Java!");

    Class<?> objectClass = myObject.getClass();
    String className = objectClass.getSimpleName();

    System.out.println("Object Type: " + className);
  }
}

A execução deste código produzirá a seguinte saída:

Object Type: String

O exemplo abaixo ilustra o uso deste método em um array.

public class MyClass {
  public static void main(String args[]) {
    String[] arr = new String[5];
    System.out.println(arr.getClass().getSimpleName());
  }
}

Saída:

String[]

Este método só é aplicável a objetos; portanto, para verificar o tipo de tipos de dados primitivos, é necessário realizar um cast do tipo primitivo para Object primeiro. O exemplo abaixo ilustra como utilizar essa função para verificar o tipo de tipos de dados não primitivos.

public class MyClass {
  public static void main(String args[]) {
    int x = 5;
    System.out.println(((Object) x).getClass().getSimpleName());
  }
}

Saída:

Integer

Utilizando getClass().getTypeName() para verificar o Tipo de uma Variável em Java

A partir do Java 8, um novo método chamado getTypeName() está disponível para fornecer diretamente o nome do tipo totalmente qualificado como uma String. Ele simplifica o processo de obtenção do nome do tipo, pois não requer interação com o objeto Class. Eis a sintaxe para utilizar o método getTypeName():

String typeName = object.getClass().getTypeName();

Vamos mergulhar em como utilizar o getTypeName():

Passo 1: Criar um Objeto

Da mesma forma que antes, você precisa de um objeto para determinar seu tipo:

Object myObject = new String("Hello, Java!");

Passo 2: Chamar o Método getTypeName()

Chame o método getTypeName() no objeto:

String typeName = myObject.getClass().getTypeName();

A variável typeName agora contém uma String que representa o nome do tipo totalmente qualificado do objeto.

Código de Exemplo

Aqui está o código completo para utilizar getTypeName():

public class GetTypeUsingGetTypeName {
  public static void main(String[] args) {
    Object myObject = new String("Hello, Java!");

    String typeName = myObject.getClass().getTypeName();

    System.out.println("Object Type: " + typeName);
  }
}

A execução deste código produzirá a seguinte saída:

Object Type: java.lang.String

Conclusão

Na programação em Java, obter os tipos de variáveis é essencial para construir aplicações robustas e adaptáveis. Os métodos getClass().getSimpleName() e getClass().getTypeName() fornecem soluções para verificar os tipos de variáveis de maneira eficiente.

Esses métodos capacitam os desenvolvedores a tomar decisões informadas, classificar objetos com base em seus tipos e escrever código que se adapta dinamicamente a vários tipos de objeto. Seja necessário um nome de tipo simples ou totalmente qualificado, o Java oferece as ferramentas necessárias para obter insights sobre os tipos de suas variáveis, tornando seu código mais versátil e responsivo.