Como obter o tipo de objeto em Java?

Como Obter O Tipo De Objeto Em Java



Um objeto é uma entidade física que tem seu próprio estado e comportamento e atua como uma instância única de uma classe Java. Isto. Quando o objeto se origina de uma fonte, considera-se útil examinar o tipo de objeto. Além disso, conhecer o tipo de um objeto é crucial ao trabalhar com uma coleção que inclui objetos diferentes ou quando é necessário executar a operação lógica com o mesmo tipo de variáveis.

Este artigo irá ajudá-lo a aprender o método para obter o tipo de um objeto em Java.

Como obter o tipo de objeto em Java?

Para obter o tipo de objeto de classe predefinido ou definido pelo usuário em Java, você pode usar:







  • getClass() método
  • instancia de operador

Vamos agora verificar cada um dos métodos mencionados um por um!



Método 1: Obtenha o tipo de objeto de classe predefinido usando o método getClass()

Em Java, temos classes predefinidas como classes wrapper como String, Double, Integer e muitas outras. Às vezes, precisamos verificar o tipo de objeto ao usar classes predefinidas. Para isso, Java oferece um “ getClass() ” método que pertence ao “ Objeto ' classe.



Sintaxe
A sintaxe do “ getClass() ” é dado da seguinte forma:





x. getClass ( )

Aqui o ' getClass() ” retornará a classe do especificado “ x ” objeto.

Exemplo
Neste exemplo, vamos criar um objeto do tipo String chamado “ x ” contendo o seguinte valor:



Corda x = 'Olá' ;

Em seguida, vamos imprimir uma declaração usando o “ System.out.println() ” método:

Sistema . Fora . imprimir ( 'x pertence a?' ) ;

Por fim, obteremos o tipo do objeto “ x ” chamando o “ getClass() ” método:

Sistema . Fora . imprimir ( x. getClass ( ) ) ;

A saída mostra que a variável criada pertence à classe Java String:

Vamos ver outro método para obter o tipo de objeto usando o operador “instanceof”.

Método 2: obter o tipo de objeto de classe predefinido usando o operador “instanceof”

Você também pode utilizar o “ instancia de ” para verificar o tipo de objeto em um programa Java. Este operador retorna um valor booleano que indica se o objeto é uma instância de determinada classe ou não.

Sintaxe
A sintaxe do “ instancia de ” é o seguinte:

x instancia de inteiro

Aqui, ' x ” é um objeto e “ inteiro ” é a classe wrapper Java predefinida. O ' instancia de ” verifica se o objeto pertence ou não à classe mencionada e retorna um valor booleano.

Exemplo
Neste exemplo, temos um objeto “ x ” da classe Integer tendo “ 5 ” como seu valor:

inteiro x = 5 ;

Em seguida, vamos imprimir uma declaração usando o “ System.out.println() ” método:

Sistema . Fora . imprimir ( 'x é uma instância da classe Integer?' ) ;

Agora, vamos verificar se o objeto é uma instância de uma classe Integer ou não:

Sistema . Fora . imprimir ( x instancia de inteiro ) ;

A saída exibida “ verdadeiro ” como o objeto “ x ” é uma instância da classe Integer:

Neste ponto, você pode estar se perguntando como obter o tipo de objeto de classe definido pelo usuário. A seção abaixo irá ajudá-lo nesse sentido.

Método 3: obter o tipo de objeto de classe definido pelo usuário usando o método getClass()

Você também pode obter o tipo do objeto de classe definido pelo usuário com a ajuda do “ getClass() ” método. Nesse cenário, compararemos o objeto com o nome da classe usando o “ == ” operador de comparação.

Sintaxe
Para o propósito especificado, a sintaxe de “ getClass() ” é dado como:

myclassObj. getClass ( ) == Minha classe. classe

Aqui o ' getClass() ” é chamado pelo método “ myclassObj ” objeto do “ Minha classe ” e, em seguida, comparado com o nome usando o operador de comparação “ == ”.

Exemplo
Neste exemplo, temos três classes chamadas “ Minha classe ”, “ MinhanovaClasse ', e ' Exemplo ”, onde MyClass atua como uma classe pai de MynewClass:

classe Minha classe { }

O ' MinhanovaClasse ” é uma classe filha, pois é estendida de “ Minha classe ”:

classe MinhanovaClasse estende Minha classe { }

No método main() da classe “ Exemplo ”, vamos declarar e instanciar um objeto da classe pai “ Minha classe ”. Em seguida, verifique se o objeto criado pertence a qual classe; pai ou filho? Para isso, chamaremos o “ getClass() ” com o objeto criado e compare o valor resultante com os nomes das classes pai e filho usando as condições if-else-if:

público classe Exemplo {
público estático vazio a Principal ( Corda [ ] argumentos ) {
MinhaClasse MinhaClasseObj = novo Minha classe ( ) ;
E se ( myclassObj. getClass ( ) == Minha classe. classe ) {
Sistema . Fora . imprimir ( 'O objeto 'myclassObj' é um tipo de 'MyClass'' ) ;
} senão E se ( myclassObj. getClass ( ) == MinhanovaClasse. classe ) {
Sistema . Fora . imprimir ( 'O objeto 'myclassObj' é um tipo de 'MynewClass'' ) ;
}
}
}

A saída indica que o objeto “ myclassObj ” pertence à classe pai chamada “ Minha classe ”:

Agora, vá para a próxima seção!

Método 4: obter o tipo de objeto de classe definido pelo usuário usando o operador 'instanceof'

Semelhante às classes predefinidas, para classes definidas pelo usuário, você também pode obter o tipo de objeto usando o “ instancia de ” operador.

Sintaxe
A sintaxe é dada abaixo:

myclassObj instancia de Minha classe

Aqui o ' instancia de ” operador verificará se o “ myclassObj ” é uma instância de “ Minha classe ' ou não.

Exemplo
Agora utilizaremos as mesmas classes que criamos no exemplo mencionado anteriormente. A única diferença é que usaremos o “ instancia de ” para verificar se a instância do objeto criado pertence à classe pai ou filha:

público classe Exemplo {
público estático vazio a Principal ( Corda [ ] argumentos ) {
MinhaClasse MinhaClasseObj = novo Minha classe ( ) ;
E se ( myclassObj instancia de Minha classe ) {
Sistema . Fora . imprimir ( 'O objeto 'myclassObj' é uma instância de 'MyClass'' ) ;
} senão E se ( myclassObj instancia de MinhanovaClasse ) {
Sistema . Fora . imprimir ( 'O objeto 'myclassObj' é uma instância de 'MynewClass'' ) ;
}
}
}

A saída dada mostra que o “ instancia de ” operador validou o tipo do objeto como “ Minha classe ”:

Compilamos todos os métodos relacionados à obtenção do tipo de objeto em Java.

Conclusão

Para obter um tipo de objeto em Java, você pode usar o “ getClass() ” ou o método “ instancia de ” operador. Esses métodos podem ser usados ​​para verificar tipos de objetos para classes predefinidas e definidas pelo usuário. O método getClass() retorna o nome da classe enquanto o operador “instanceof” retorna um valor booleano, onde “ verdadeiro ” indica que o objeto pertence a essa classe especificada; caso contrário, ele retorna “ falso ”. Este artigo forneceu todos os métodos para obter o tipo de objeto em Java.