Kaip gauti objekto tipą Java?

Kaip Gauti Objekto Tipa Java



Objektas yra fizinis subjektas, turintis savo būseną ir elgesį, ir jis veikia kaip unikalus Java klasės egzempliorius. Tai. Kai objektas yra kilęs iš šaltinio, manoma, kad naudinga ištirti objekto tipą. Taip pat svarbu žinoti objekto tipą, kai dirbate su kolekcija, kurioje yra skirtingų objektų, arba kai reikia atlikti loginę operaciją su tos pačios rūšies kintamaisiais.

Šis straipsnis padės jums sužinoti, kaip gauti objekto tipą Java.

Kaip gauti objekto tipą Java?

Norėdami gauti iš anksto nustatyto ar vartotojo apibrėžto klasės objekto tipą Java, galite naudoti:







  • getClass () metodas
  • pavyzdys operatorius

Dabar patikrinsime kiekvieną iš paminėtų metodų po vieną!



1 būdas: gaukite iš anksto nustatyto klasės objekto tipą naudodami getClass() metodą

Java programoje turime iš anksto nustatytas klases, pvz., įpakavimo klases, pvz., String, Double, Integer ir daug daugiau. Kartais mums reikia patikrinti objekto tipą naudojant iš anksto nustatytas klases. Šiuo tikslu „Java“ siūlo „ getClass () “ metodas, priklausantis „ Objektas ' klasė.



Sintaksė
„“ sintaksė getClass () “ metodas pateikiamas taip:





x. getClass ( )

Čia „ getClass () ' metodas grąžins nurodytos 'klasę x “ objektas.

Pavyzdys
Šiame pavyzdyje mes sukursime eilutės tipo objektą pavadinimu ' x “, kuriame yra ši reikšmė:



Styga x = 'Sveiki' ;

Tada išspausdinsime pareiškimą naudodami „ System.out.println() “ metodas:

Sistema . išeiti . println ( 'x priklauso?' ) ;

Galiausiai gausime objekto tipą “ x “ skambinant „ getClass () “ metodas:

Sistema . išeiti . spausdinti ( x. getClass ( ) ) ;

Išvestis rodo, kad sukurtas kintamasis priklauso Java String klasei:

Pažiūrėkime kitą metodą, kaip gauti objekto tipą naudojant operatorių 'instanceof'.

2 būdas: gaukite iš anksto nustatytos klasės objekto tipą naudodami operatorių „instanceof“.

Taip pat galite naudoti „ pavyzdys “ operatorių, norėdami patikrinti objekto tipą Java programoje. Šis operatorius grąžina loginę reikšmę, kuri nurodo, ar objektas yra konkrečios klasės egzempliorius, ar ne.

Sintaksė
„“ sintaksė pavyzdys “ yra taip:

x pavyzdys Sveikasis skaičius

Čia, ' x “ yra objektas ir „ Sveikasis skaičius “ yra iš anksto nustatyta „Java“ įvynioklių klasė. „ pavyzdys ” operatorius patikrina, ar objektas priklauso minėtai klasei, ar ne, ir grąžina loginę reikšmę.

Pavyzdys
Šiame pavyzdyje mes turime objektą ' x “ iš sveikųjų skaičių klasės, turinčios “ 5 “ kaip jo vertę:

Sveikasis skaičius x = 5 ;

Tada išspausdinsime pareiškimą naudodami „ System.out.println() “ metodas:

Sistema . išeiti . spausdinti ( 'x yra sveikųjų skaičių klasės pavyzdys?' ) ;

Dabar patikrinsime, ar objektas yra sveikųjų skaičių klasės pavyzdys, ar ne:

Sistema . išeiti . spausdinti ( x pavyzdys Sveikasis skaičius ) ;

Rodoma išvestis „ tiesa 'kaip objektas' x “ yra sveikųjų skaičių klasės pavyzdys:

Šiuo metu jums gali kilti klausimas, kaip gauti vartotojo apibrėžto klasės objekto tipą. Žemiau pateiktas skyrius padės jums šiuo klausimu.

3 būdas: gaukite vartotojo apibrėžto klasės objekto tipą naudodami getClass() metodą

Taip pat galite gauti vartotojo apibrėžto klasės objekto tipą naudodami „ getClass () “ metodas. Tokiu atveju palyginsime objektą su klasės pavadinimu naudodami „ == “ palyginimo operatorius.

Sintaksė
Nurodytam tikslui sintaksė ' getClass () “ metodas pateikiamas taip:

mano klasėObj. getClass ( ) == Mano klasė. klasė

Čia „ getClass () “ metodas vadinamas „ mano klasėObj “ objektas Mano klasė “, tada palyginkite su pavadinimu naudodami palyginimo operatorių „ == “.

Pavyzdys
Šiame pavyzdyje turime tris klases, pavadintas ' Mano klasė “, „ Mano nauja klasė “ ir „ Pavyzdys “, kur „MyClass“ veikia kaip pagrindinė „MynewClass“ klasė:

klasė Mano klasė { }

Mano nauja klasė “ yra vaikų klasė, nes ji pratęsta nuo „ Mano klasė “:

klasė Mano nauja klasė tęsiasi Mano klasė { }

Klasės pagrindiniame() metode ' Pavyzdys “, mes paskelbsime ir pakartosime pirminės klasės objektą „ Mano klasė “. Tada patikrinkite, ar sukurtas objektas priklauso kuriai klasei; tėvas ar vaikas? Norėdami tai padaryti, mes paskambinsime „ getClass () ” metodą su sukurtu objektu ir palyginkite gautą reikšmę su pirminių ir antrinių klasių pavadinimais naudodami if-else-if sąlygas:

viešas klasė Pavyzdys {
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
MyClass myclassObj = naujas Mano klasė ( ) ;
jeigu ( mano klasėObj. getClass ( ) == Mano klasė. klasė ) {
Sistema . išeiti . println ( „Objektas „myclassObj“ yra „MyClass“ tipas“ ) ;
} Kitas jeigu ( mano klasėObj. getClass ( ) == Mano nauja klasė. klasė ) {
Sistema . išeiti . println ( „Objektas „myclassObj“ yra „MynewClass“ tipas“ ) ;
}
}
}

Išvestis rodo, kad objektas ' mano klasėObj “ priklauso pirminei klasei pavadinimu „ Mano klasė “:

Dabar eikite į kitą skyrių!

4 būdas: gaukite vartotojo apibrėžto klasės objekto tipą naudodami „instanceof“ operatorių

Panašiai kaip iš anksto nustatytoms klasėms, vartotojo apibrėžtoms klasėms taip pat galite gauti objekto tipą naudodami „ pavyzdys ' operatorius.

Sintaksė
Sintaksė pateikta žemiau:

mano klasėObj pavyzdys Mano klasė

Čia „ pavyzdys “ operatorius patikrins, ar “ mano klasėObj “ yra „“ pavyzdys Mano klasė ' arba ne.

Pavyzdys
Dabar naudosime tas pačias klases, kurias sukūrėme anksčiau minėtame pavyzdyje. Vienintelis skirtumas yra tas, kad naudosime „ pavyzdys ” operatorių, kad patikrintų, ar sukurtas objekto egzempliorius priklauso pirminei ar antrinei klasei:

viešas klasė Pavyzdys {
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
MyClass myclassObj = naujas Mano klasė ( ) ;
jeigu ( mano klasėObj pavyzdys Mano klasė ) {
Sistema . išeiti . println ( „Objektas „myclassObj“ yra „MyClass“ egzempliorius“ ) ;
} Kitas jeigu ( mano klasėObj pavyzdys Mano nauja klasė ) {
Sistema . išeiti . println ( „Objektas „myclassObj“ yra „MynewClass“ pavyzdys“ ) ;
}
}
}

Pateikta išvestis rodo, kad „ pavyzdys ' operatorius patvirtino objekto tipą kaip ' Mano klasė “:

Mes sudarėme visus metodus, susijusius su objekto tipo gavimu Java.

Išvada

Norėdami gauti objekto tipą „Java“, galite naudoti „ getClass () “ metodas arba „ pavyzdys ' operatorius. Šie metodai gali būti naudojami tikrinant objektų tipus tiek iš anksto apibrėžtoms, tiek vartotojo apibrėžtoms klasėms. Metodas getClass() grąžina klasės pavadinimą, o operatorius 'instanceof' grąžina loginę reikšmę, kur ' tiesa ” nurodo, kad objektas priklauso tai nurodytai klasei; kitu atveju jis grįžta ' klaidinga “. Šiame straipsnyje pateikti visi metodai, kaip gauti objekto tipą Java.