¿Cómo obtener el tipo de objeto en Java?

Como Obtener El Tipo De Objeto En Java



Un objeto es una entidad física que tiene su propio estado y comportamiento, y actúa como una instancia única de una clase Java. Eso. Cuando el objeto se origina en una fuente, se considera útil examinar el tipo de objeto. Además, conocer el tipo de un objeto es crucial cuando se trabaja con una colección que incluye diferentes objetos o cuando se requiere ejecutar la operación lógica con el mismo tipo de variables.

Este artículo lo ayudará a aprender el método para obtener el tipo de un objeto en Java.

¿Cómo obtener el tipo de objeto en Java?

Para obtener el tipo de objeto de clase predefinido o definido por el usuario en Java, puede usar:







  • obtenerClase() método
  • en vez de operador

¡Ahora revisaremos cada uno de los métodos mencionados uno por uno!



Método 1: obtener el tipo de objeto de clase predefinido mediante el método getClass()

En Java, tenemos clases predefinidas como clases contenedoras como String, Double, Integer y muchas más. A veces necesitamos verificar el tipo de objeto mientras usamos clases predefinidas. Para este propósito, Java ofrece un “ obtenerClase() ” método que pertenece a la “ Objeto ' clase.



Sintaxis
La sintaxis del “ obtenerClase() El método se da de la siguiente manera:





X. obtenerClase ( )

Aquí el ' obtenerClase() El método 'devolverá la clase del' especificado. X ' objeto.

Ejemplo
En este ejemplo, crearemos un objeto de tipo String llamado ' X ” que contiene el siguiente valor:



Cuerda X = 'Hola' ;

A continuación, imprimiremos una declaración usando el ' Sistema.salida.println() ' método:

Sistema . afuera . imprimir ( 'x pertenece a?' ) ;

Por último, obtendremos el tipo del objeto “ X ” llamando al “ obtenerClase() ' método:

Sistema . afuera . impresión ( X. obtenerClase ( ) ) ;

El resultado muestra que la variable creada pertenece a la clase Java String:

Veamos otro método para obtener el tipo de objeto usando el operador 'instancia de'.

Método 2: obtener el tipo de objeto de clase predefinido mediante el operador 'instancia de'

También puede utilizar el “ en vez de ” para verificar el tipo de objeto en un programa Java. Este operador devuelve un valor booleano que indica si el objeto es una instancia de la clase particular o no.

Sintaxis
La sintaxis del “ en vez de ' es como sigue:

X en vez de Entero

Aquí, ' X ” es un objeto y “ Entero ” es la clase contenedora de Java predefinida. Los ' en vez de El operador ” comprueba si el objeto pertenece a la clase mencionada o no y devuelve un valor booleano.

Ejemplo
En este ejemplo, tenemos un objeto “ X ” de la clase Integer que tiene “ 5 ” como su valor:

Entero X = 5 ;

A continuación, imprimiremos una declaración usando el ' Sistema.salida.println() ' método:

Sistema . afuera . impresión ( '¿x es una instancia de la clase Integer?' ) ;

Ahora, comprobaremos si el objeto es una instancia de una clase Integer o no:

Sistema . afuera . impresión ( X en vez de Entero ) ;

La salida mostrada “ verdadero 'como el objeto' X ” es una instancia de la clase Integer:

En este punto, es posible que se pregunte cómo obtener el tipo de objeto de clase definido por el usuario. La siguiente sección le ayudará en este sentido.

Método 3: obtener el tipo de objeto de clase definido por el usuario mediante el método getClass()

También puede obtener el tipo del objeto de clase definido por el usuario con la ayuda de ' obtenerClase() ' método. En tal escenario, compararemos el objeto con el nombre de la clase usando el ' == ” operador de comparación.

Sintaxis
Para el propósito especificado, la sintaxis de “ obtenerClase() El método se da como:

miclaseObj. obtenerClase ( ) == Mi clase. clase

Aquí el ' obtenerClase() El método ” es llamado por el “ miclaseObj ” objeto de la “ Mi clase ” y luego se compara con el nombre usando el operador de comparación “ == ”.

Ejemplo
En este ejemplo, tenemos tres clases llamadas “ Mi clase ”, “ minuevaclase ', y ' Ejemplo ”, donde MyClass actúa como una clase principal de MynewClass:

clase Mi clase { }

Los ' minuevaclase ” es una clase secundaria ya que se extiende desde “ Mi clase ”:

clase minuevaclase extiende Mi clase { }

En el método main() de la clase “ Ejemplo ”, declararemos e instanciaremos un objeto de la clase padre “ Mi clase ”. Luego verifique si el objeto creado pertenece a qué clase; padre o hijo? Para ello, llamaremos al “ obtenerClase() ” con el objeto creado y compare el valor resultante con los nombres de clase padre e hijo usando condiciones if-else-if:

público clase Ejemplo {
    público estático vacío principal ( Cuerda [ ] argumentos ) {
MiClase miclaseObj = nuevo Mi clase ( ) ;
          si ( miclaseObj. obtenerClase ( ) == Mi clase. clase ) {
                Sistema . afuera . imprimir ( 'El objeto 'myclassObj' es un tipo de 'MyClass'' ) ;
            } más si ( miclaseObj. obtenerClase ( ) == MinuevaClase. clase ) {
                Sistema . afuera . imprimir ( 'El objeto 'myclassObj' es un tipo de 'MynewClass'' ) ;
            }  
    }
}

La salida indica que el objeto “ miclaseObj ” pertenece a la clase padre denominada “ Mi clase ”:

¡Ahora, dirígete a la siguiente sección!

Método 4: obtener el tipo de objeto de clase definido por el usuario mediante el operador 'instancia de'

De manera similar a las clases predefinidas, para las clases definidas por el usuario, también puede obtener el tipo de objeto utilizando el ' en vez de ” operador.

Sintaxis
La sintaxis se da a continuación:

miclaseObj en vez de Mi clase

Aquí el ' en vez de El operador ” verificará si el “ miclaseObj ” es una instancia de “ Mi clase ' O no.

Ejemplo
Ahora utilizaremos las mismas clases que hemos creado en el ejemplo mencionado anteriormente. La única diferencia es que usaremos el “ en vez de ” para verificar si la instancia del objeto creado pertenece a la clase principal o secundaria:

público clase Ejemplo {
    público estático vacío principal ( Cuerda [ ] argumentos ) {
MiClase miclaseObj = nuevo Mi clase ( ) ;
          si ( miclaseObj en vez de Mi clase ) {
                Sistema . afuera . imprimir ( 'El objeto 'myclassObj' es una instancia de 'MyClass'' ) ;
            } más si ( miclaseObj en vez de minuevaclase ) {
                Sistema . afuera . imprimir ( 'El objeto 'myclassObj' es una instancia de 'MynewClass'' ) ;
            }  
    }
}

La salida dada muestra que el ' en vez de El operador ” validó el tipo del objeto como “ Mi clase ”:

Hemos compilado todos los métodos relacionados con obtener el tipo de objeto en Java.

Conclusión

Para obtener un tipo de objeto en Java, puede usar el ' obtenerClase() ” método o el “ en vez de ” operador. Estos métodos se pueden utilizar para comprobar los tipos de objetos tanto para las clases predefinidas como para las definidas por el usuario. El método getClass() devuelve el nombre de la clase, mientras que el operador 'instanceof' devuelve un valor booleano, donde ' verdadero ” indica que el objeto pertenece a esa clase especificada; de lo contrario, devuelve “ falso ”. Este artículo proporcionó todos los métodos para obtener el tipo de objeto en Java.