Aquest article us ajudarà a aprendre el mètode per obtenir el tipus d'objecte a Java.
Com obtenir el tipus d'objecte a Java?
Per obtenir el tipus d'objecte de classe predefinit o definit per l'usuari a Java, podeu utilitzar:
- getClass() mètode
- en lloc de operador
Ara comprovarem cadascun dels mètodes esmentats un per un!
Mètode 1: obteniu el tipus d'objecte de classe predefinit mitjançant el mètode getClass().
A Java, tenim classes predefinides com classes d'embolcall com String, Double, Integer i moltes més. De vegades hem de verificar el tipus d'objecte mentre utilitzem classes predefinides. Amb aquest propòsit, Java ofereix un ' getClass() ” mètode que pertany al “ Objecte ” classe.
Sintaxi
La sintaxi de la ' getClass() ” El mètode es dóna de la següent manera:
x. getClass ( )
Aquí, el ' getClass() El mètode retornarà la classe de la classe especificada x ' objecte.
Exemple
En aquest exemple, crearem un objecte de tipus String anomenat ' x ” que contingui el valor següent:
Corda x = 'Hola' ;
A continuació, imprimirem una declaració utilitzant el ' System.out.println() ” mètode:
Sistema . fora . imprimirln ( 'x pertany a?' ) ;Finalment, obtindrem el tipus d'objecte ' x ' trucant al ' getClass() ” mètode:
Sistema . fora . imprimir ( x. getClass ( ) ) ;La sortida mostra que la variable creada pertany a la classe Java String:
Vegem un altre mètode per obtenir el tipus d'objecte mitjançant l'operador 'instanceof'.
Mètode 2: obteniu el tipus d'objecte de classe predefinit mitjançant l'operador 'instanceof'.
També podeu utilitzar el ' en lloc de ” per comprovar el tipus d'objecte en un programa Java. Aquest operador retorna un valor booleà que indica si l'objecte és una instància de la classe concreta o no.
Sintaxi
La sintaxi de la ' en lloc de ” és el següent:
Aquí, ' x ' és un objecte i ' Enter ” és la classe d'embolcall de Java predefinida. El ' en lloc de ” l'operador comprova si l'objecte pertany o no a la classe esmentada i retorna un valor booleà.
Exemple
En aquest exemple, tenim un objecte ' x ” de la classe Integer que té “ 5 ” com el seu valor:
A continuació, imprimirem una declaració utilitzant el ' System.out.println() ” mètode:
Sistema . fora . imprimir ( 'x és una instància de la classe Integer?' ) ;Ara, comprovarem si l'objecte és una instància d'una classe Integer o no:
Sistema . fora . imprimir ( x en lloc de Enter ) ;
La sortida es mostra ' veritat 'com a objecte' x ” és una instància de la classe Integer:
En aquest punt, potser us preguntareu com obtenir el tipus d'objecte de classe definit per l'usuari. La secció que es mostra a continuació us ajudarà en aquest sentit.
Mètode 3: Obtenir el tipus d'objecte de classe definit per l'usuari mitjançant el mètode getClass().
També podeu obtenir el tipus de l'objecte de classe definit per l'usuari amb l'ajuda del ' getClass() ” mètode. En aquest escenari, compararem l'objecte amb el nom de la classe utilitzant el ' == ” operador de comparació.
Sintaxi
Per al propòsit especificat, la sintaxi de “ getClass() ” mètode es dóna com:
Aquí, el ' getClass() El mètode ' s'anomena ' myclassObj 'objecte de la' La meva classe ” i després es compara amb el nom mitjançant l'operador de comparació “ == ”.
Exemple
En aquest exemple, tenim tres classes anomenades ' La meva classe ”, “ La meva nova classe ”, i “ Exemple ”, on MyClass actua com a classe pare de MynewClass:
El ' La meva nova classe ' és una classe infantil ja que s'estén des de ' La meva classe ”:
classe La meva nova classe s'estén La meva classe { }En el mètode main() de la classe “ Exemple ”, declararem i instanciarem un objecte de la classe pare “ La meva classe ”. A continuació, comproveu si l'objecte creat pertany a quina classe; pare o fill? Per fer-ho, anomenarem el ' getClass() ” amb l'objecte creat i compareu el valor resultant amb els noms de classe pare i fill utilitzant les condicions if-else-if:
públic classe Exemple {públic estàtica buit principal ( Corda [ ] args ) {
MyClass myclassObj = nou La meva classe ( ) ;
si ( myclassObj. getClass ( ) == La meva classe. classe ) {
Sistema . fora . imprimirln ( 'L'objecte 'myclassObj' és un tipus de 'MyClass'' ) ;
} altra cosa si ( myclassObj. getClass ( ) == La meva nova classe. classe ) {
Sistema . fora . imprimirln ( 'L'objecte 'myclassObj' és un tipus de 'MynewClass'' ) ;
}
}
}
La sortida indica que l'objecte ' myclassObj ' pertany a la classe dels pares anomenada ' La meva classe ”:
Ara, cap a la següent secció!
Mètode 4: obteniu el tipus d'objecte de classe definit per l'usuari mitjançant l'operador 'instanceof'.
De manera similar a les classes predefinides, per a les classes definides per l'usuari, també podeu obtenir el tipus d'objecte utilitzant el ' en lloc de ” operador.
Sintaxi
La sintaxi es mostra a continuació:
Aquí, el ' en lloc de ', l'operador comprovarà si el ' myclassObj ' és un exemple de ' La meva classe ” o no.
Exemple
Ara utilitzarem les mateixes classes que hem creat a l'exemple esmentat anteriorment. L'única diferència és que farem servir el ' en lloc de ” per verificar si la instància d'objecte creat pertany a la classe pare o fill:
públic estàtica buit principal ( Corda [ ] args ) {
MyClass myclassObj = nou La meva classe ( ) ;
si ( myclassObj en lloc de La meva classe ) {
Sistema . fora . imprimirln ( 'L'objecte 'myclassObj' és una instància de 'MyClass'' ) ;
} altra cosa si ( myclassObj en lloc de La meva nova classe ) {
Sistema . fora . imprimirln ( 'L'objecte 'myclassObj' és una instància de 'MynewClass'' ) ;
}
}
}
La sortida donada mostra que el ' en lloc de L'operador va validar el tipus d'objecte com a La meva classe ”:
Hem compilat tots els mètodes relacionats amb l'obtenció del tipus d'objecte a Java.
Conclusió
Per obtenir un tipus d'objecte a Java, podeu utilitzar el ' getClass() mètode ' o el ' en lloc de ” operador. Aquests mètodes es poden utilitzar per comprovar els tipus d'objecte tant per a classes predefinides com per a classes definides per l'usuari. El mètode getClass() retorna el nom de la classe mentre que l'operador 'instanceof' retorna un valor booleà, on ' veritat ” indica que l'objecte pertany a aquesta classe especificada; en cas contrari, torna ' fals ”. Aquest article proporciona tots els mètodes per obtenir el tipus d'objecte a Java.