Ako získať typ objektu v Jave?

Ako Ziskat Typ Objektu V Jave



Objekt je fyzická entita, ktorá má svoj vlastný stav a správanie a funguje ako jedinečná inštancia triedy Java. to. Keď objekt pochádza zo zdroja, považuje sa za užitočné preskúmať typ objektu. Poznanie typu objektu je dôležité aj pri práci s kolekciou, ktorá obsahuje rôzne objekty, alebo keď je potrebné vykonať logickú operáciu s rovnakým druhom premenných.

Tento článok vám pomôže naučiť sa metódu na získanie typu objektu v jazyku Java.

Ako získať typ objektu v Jave?

Na získanie typu preddefinovaného alebo používateľom definovaného objektu triedy v jazyku Java môžete použiť:







  • getClass() metóda
  • instanceof operátor

Teraz skontrolujeme každú z uvedených metód jednu po druhej!



Metóda 1: Získanie typu preddefinovaného objektu triedy pomocou metódy getClass().

V Jave máme preddefinované triedy ako obalové triedy ako String, Double, Integer a mnohé ďalšie. Niekedy potrebujeme overiť typ objektu pri použití preddefinovaných tried. Na tento účel Java ponúka „ getClass() “ metóda, ktorá patrí do „ Objekt ' trieda.



Syntax
Syntax výrazu „ getClass() “ metóda je uvedená takto:





X. getClass ( )

Tu je „ getClass() “metóda vráti triedu zadaného “ X “objekt.

Príklad
V tomto príklade vytvoríme objekt typu String s názvom „ X ” obsahujúci nasledujúcu hodnotu:



Reťazec X = 'Ahoj' ;

Ďalej vytlačíme vyhlásenie pomocou „ System.out.println() “ metóda:

Systém . von . println ( 'x patrí?' ) ;

Nakoniec dostaneme typ objektu „ X “ zavolaním na „ getClass() “ metóda:

Systém . von . vytlačiť ( X. getClass ( ) ) ;

Výstup ukazuje, že vytvorená premenná patrí do triedy Java String:

Pozrime sa na inú metódu na získanie typu objektu pomocou operátora „instanceof“.

Metóda 2: Získanie typu preddefinovaného objektu triedy pomocou operátora „instanceof“.

Môžete tiež využiť „ instanceof ” na kontrolu typu objektu v programe Java. Tento operátor vracia boolovskú hodnotu, ktorá označuje, či je objekt inštanciou konkrétnej triedy alebo nie.

Syntax
Syntax výrazu „ instanceof ' je nasledujúci:

X instanceof Celé číslo

Tu, ' X “ je objekt a “ Celé číslo ” je preddefinovaná trieda Java wrapper. ' instanceof Operátor ” skontroluje, či objekt patrí do uvedenej triedy alebo nie a vráti boolovskú hodnotu.

Príklad
V tomto príklade máme objekt „ X ” triedy Integer s “ 5 “ ako jeho hodnotu:

Celé číslo X = 5 ;

Ďalej vytlačíme vyhlásenie pomocou „ System.out.println() “ metóda:

Systém . von . vytlačiť ( 'x je inštancia triedy Integer?' ) ;

Teraz skontrolujeme, či je objekt inštanciou triedy Integer alebo nie:

Systém . von . vytlačiť ( X instanceof Celé číslo ) ;

Zobrazený výstup „ pravda 'ako objekt' X ” je inštanciou triedy Integer:

V tomto bode vás možno zaujíma, ako získať typ objektu triedy definovaného používateľom. Nižšie uvedená časť vám v tomto smere pomôže.

Metóda 3: Získanie typu používateľom definovaného objektu triedy pomocou metódy getClass().

Typ objektu triedy definovaného používateľom môžete získať aj pomocou „ getClass() “. V takomto scenári porovnáme objekt s názvom triedy pomocou „ == operátor porovnávania.

Syntax
Na špecifikovaný účel sa použije syntax výrazu „ getClass() “ metóda je uvedená ako:

mojatriedaObj. getClass ( ) == Moja trieda. trieda

Tu je „ getClass() “ metóda sa volá „ mojatriedaObj “predmetom” Moja trieda “ a potom porovnať s názvom pomocou porovnávacieho operátora “ == “.

Príklad
V tomto príklade máme tri triedy s názvom „ Moja trieda “, “ MynewClass “ a „ Príklad “, kde MyClass vystupuje ako nadradená trieda MynewClass:

trieda Moja trieda { }

' MynewClass “ je detská trieda, pretože je rozšírená z „ Moja trieda “:

trieda MynewClass predlžuje Moja trieda { }

V metóde main() triedy “ Príklad “, deklarujeme a vytvoríme inštanciu objektu nadradenej triedy “ Moja trieda “. Potom skontrolujte, či vytvorený objekt patrí do ktorej triedy; rodič alebo dieťa? Za týmto účelom zavoláme „ getClass() ” s vytvoreným objektom a porovnajte výslednú hodnotu s názvami rodičovskej a podradenej triedy pomocou podmienok if-else-if:

verejnosti trieda Príklad {
verejnosti statické neplatné hlavné ( Reťazec [ ] args ) {
MyClass myclassObj = Nový Moja trieda ( ) ;
ak ( mojatriedaObj. getClass ( ) == Moja trieda. trieda ) {
Systém . von . println ( 'Objekt 'myclassObj' je typ 'MyClass'' ) ;
} inak ak ( mojatriedaObj. getClass ( ) == MynewClass. trieda ) {
Systém . von . println ( 'Objekt 'myclassObj' je typ 'MynewClass'' ) ;
}
}
}

Výstup indikuje, že objekt „ mojatriedaObj ” patrí do nadradenej triedy s názvom “ Moja trieda “:

Teraz prejdite na ďalšiu časť!

Metóda 4: Získanie typu užívateľom definovaného objektu triedy pomocou operátora „instanceof“.

Podobne ako pri preddefinovaných triedach, pre užívateľom definované triedy môžete tiež získať typ objektu pomocou „ instanceof ” operátor.

Syntax
Syntax je uvedená nižšie:

mojatriedaObj instanceof Moja trieda

Tu je „ instanceof operátor skontroluje, či mojatriedaObj “ je príkladom výrazu „ Moja trieda ' alebo nie.

Príklad
Teraz použijeme tie isté triedy, ktoré sme vytvorili v predchádzajúcom príklade. Jediný rozdiel je v tom, že budeme používať „ instanceof ” na overenie, či vytvorená inštancia objektu patrí do nadradenej alebo podradenej triedy:

verejnosti trieda Príklad {
verejnosti statické neplatné hlavné ( Reťazec [ ] args ) {
MyClass myclassObj = Nový Moja trieda ( ) ;
ak ( mojatriedaObj instanceof Moja trieda ) {
Systém . von . println ( 'Objekt 'myclassObj' je inštanciou 'MyClass'' ) ;
} inak ak ( mojatriedaObj instanceof MynewClass ) {
Systém . von . println ( 'Objekt 'myclassObj' je inštanciou 'MynewClass'' ) ;
}
}
}

Uvedený výstup ukazuje, že „ instanceof Operátor ” overil typ objektu ako “ Moja trieda “:

Zostavili sme všetky metódy súvisiace so získaním typu objektu v jazyku Java.

Záver

Ak chcete získať typ objektu v jazyku Java, môžete použiť „ getClass() “ metóda alebo “ instanceof ” operátor. Tieto metódy možno použiť na kontrolu typov objektov pre preddefinované aj používateľom definované triedy. Metóda getClass() vracia názov triedy, zatiaľ čo operátor „instanceof“ vracia boolovskú hodnotu, kde „ pravda ” označuje, že objekt patrí do danej triedy; inak sa vráti „ falošný “. Tento článok poskytuje všetky metódy na získanie typu objektu v jazyku Java.