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:
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:
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:
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:
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:
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 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.