Hoe type object in Java te krijgen?

Hoe Type Object In Java Te Krijgen



Een object is een fysieke entiteit die zijn eigen staat en gedrag heeft en fungeert als een unieke instantie van een Java-klasse. Het. Wanneer het object afkomstig is uit een bron, wordt het nuttig geacht om het objecttype te onderzoeken. Ook is het van cruciaal belang om het type object te kennen wanneer u werkt met een verzameling die verschillende objecten bevat of wanneer het nodig is om de logische bewerking met dezelfde soort variabelen uit te voeren.

Dit artikel zal je helpen om de methode te leren om het type object in Java te krijgen.

Hoe type object in Java te krijgen?

Om het type vooraf gedefinieerd of door de gebruiker gedefinieerd klasseobject in Java te krijgen, kunt u het volgende gebruiken:







  • getClass() methode
  • instantie van operator

We zullen nu elk van de genoemde methoden één voor één bekijken!



Methode 1: Type voorgedefinieerd klasseobject ophalen met de methode getClass()

In Java hebben we vooraf gedefinieerde klassen zoals wrapper-klassen zoals String, Double, Integer en nog veel meer. Soms moeten we het objecttype verifiëren terwijl we vooraf gedefinieerde klassen gebruiken. Hiervoor biedt Java een “ getClass() ” methode die behoort tot de “ Object ' klas.



Syntaxis
De syntaxis van de ' getClass() ” methode wordt als volgt gegeven:





x. getClass ( )

Hier de ' getClass() ” methode retourneert de klasse van de gespecificeerde “ x ' object.

Voorbeeld
In dit voorbeeld maken we een object van het type String met de naam ' x ” met de volgende waarde:



Snaar x = 'Hallo' ;

Vervolgens zullen we een verklaring afdrukken met de ' Systeem.uit.println() methode:

Systeem . uit . println ( 'X hoort bij?' ) ;

Ten slotte krijgen we het type object ' x ” door te bellen naar de “ getClass() methode:

Systeem . uit . afdrukken ( x. getClass ( ) ) ;

De uitvoer laat zien dat de gemaakte variabele tot de Java String-klasse behoort:

Laten we een andere methode bekijken om het objecttype te krijgen met behulp van de operator 'instanceof'.

Methode 2: Type vooraf gedefinieerd klassenobject ophalen met behulp van de operator 'instanceof'

U kunt ook gebruikmaken van de ' instantie van ” operator om het objecttype in een Java-programma te controleren. Deze operator retourneert een booleaanse waarde die aangeeft of het object een instantie van de bepaalde klasse is of niet.

Syntaxis
De syntaxis van de ' instantie van ' is als volgt:

x instantie van Geheel getal

Hier, ' x ” is een object en “ Geheel getal ” is de vooraf gedefinieerde Java-wrapperklasse. De ' instantie van ” -operator controleert of het object tot de genoemde klasse behoort of niet en retourneert een booleaanse waarde.

Voorbeeld
In dit voorbeeld hebben we een object “ x ” van de klasse Integer met “ 5 ” als waarde:

Geheel getal x = 5 ;

Vervolgens zullen we een verklaring afdrukken met de ' Systeem.uit.println() methode:

Systeem . uit . afdrukken ( 'x is een instantie van Integer-klasse?' ) ;

Nu zullen we controleren of het object een instantie van een Integer-klasse is of niet:

Systeem . uit . afdrukken ( x instantie van Geheel getal ) ;

De weergegeven uitvoer ' WAAR ' als het object ' x ” is een instantie van de klasse Integer:

Op dit punt vraagt ​​u zich misschien af ​​hoe u het type door de gebruiker gedefinieerd klasseobject kunt krijgen. Het onderstaande gedeelte zal u hierbij helpen.

Methode 3: Type door de gebruiker gedefinieerd klasseobject ophalen met de methode getClass()

U kunt ook het type van het door de gebruiker gedefinieerde klasseobject krijgen met behulp van de ' getClass() ” methode. In een dergelijk scenario zullen we het object vergelijken met de klassenaam met behulp van de ' == ” vergelijkingsoperator.

Syntaxis
Voor het gespecificeerde doel is de syntaxis van ' getClass() ” methode wordt gegeven als:

mijnklasseObj. getClass ( ) == Mijn klas. klas

Hier de ' getClass() ”-methode wordt aangeroepen door de “ myclassObj ” voorwerp van de “ Mijn klas ' en vervolgens vergeleken met de naam met behulp van de vergelijkingsoperator ' == ”.

Voorbeeld
In dit voorbeeld hebben we drie klassen met de naam ' Mijn klas ”, “ MijnnieuweKlasse ', en ' Voorbeeld ”, waarbij MyClass optreedt als een bovenliggende klasse van MynewClass:

klas Mijn klas { }

De ' MijnnieuweKlasse ” is een onderliggende klasse zoals deze wordt uitgebreid van “ Mijn klas ”:

klas MijnnieuweKlasse strekt zich uit Mijn klas { }

In de methode main() van de klasse “ Voorbeeld ', we zullen een object van de bovenliggende klasse declareren en instantiëren ' Mijn klas ”. Controleer vervolgens of het aangemaakte object tot welke klasse behoort; ouder of kind? Hiervoor noemen we de “ getClass() ” met het gemaakte object en vergelijk de resulterende waarde met de namen van de bovenliggende en onderliggende klassen met behulp van if-else-if-voorwaarden:

openbaar klas Voorbeeld {
openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {
MyClass myclassObj = nieuwe Mijn klas ( ) ;
als ( mijnklasseObj. getClass ( ) == Mijn klas. klas ) {
Systeem . uit . println ( 'Het object 'myclassObj' is een type 'MyClass'' ) ;
} anders als ( mijnklasseObj. getClass ( ) == MijnnieuweKlasse. klas ) {
Systeem . uit . println ( 'Het object 'myclassObj' is een type 'MynewClass'' ) ;
}
}
}

De output geeft aan dat het object “ myclassObj ” behoort tot de bovenliggende klasse met de naam “ Mijn klas ”:

Ga nu naar het volgende gedeelte!

Methode 4: Type door de gebruiker gedefinieerd klassenobject ophalen met behulp van de operator 'instanceof'

Net als bij vooraf gedefinieerde klassen, kunt u voor door de gebruiker gedefinieerde klassen ook het type object krijgen door de ' instantie van ” exploitant.

Syntaxis
De syntaxis wordt hieronder gegeven:

myclassObj instantie van Mijn klas

Hier de ' instantie van ” zal de operator controleren of de “ myclassObj ' is een voorbeeld van ' Mijn klas ' of niet.

Voorbeeld
We zullen nu dezelfde klassen gebruiken die we in het eerder genoemde voorbeeld hebben gemaakt. Het enige verschil is dat we de ' instantie van ” operator om te controleren of de gemaakte objectinstantie tot de bovenliggende of onderliggende klasse behoort:

openbaar klas Voorbeeld {
openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {
MyClass myclassObj = nieuwe Mijn klas ( ) ;
als ( myclassObj instantie van Mijn klas ) {
Systeem . uit . println ( 'Het object 'myclassObj' is een instantie van 'MyClass'' ) ;
} anders als ( myclassObj instantie van MijnnieuweKlasse ) {
Systeem . uit . println ( 'Het object 'myclassObj' is een instantie van 'MynewClass'' ) ;
}
}
}

De gegeven uitvoer laat zien dat de “ instantie van ” operator valideerde het type object als “ Mijn klas ”:

We hebben alle methoden gecompileerd met betrekking tot het verkrijgen van het objecttype in Java.

Conclusie

Om een ​​type object in Java te krijgen, kunt u de ' getClass() ”-methode of de “ instantie van ” exploitant. Deze methoden kunnen worden gebruikt om objecttypen te controleren voor zowel vooraf gedefinieerde als door de gebruiker gedefinieerde klassen. De methode getClass() retourneert de klassenaam terwijl de operator 'instanceof' een booleaanse waarde retourneert, waarbij ' WAAR ” geeft aan dat het object tot die opgegeven klasse behoort; anders keert het terug ' vals ”. Dit artikel bevatte alle methoden om het objecttype in Java te krijgen.