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:
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:
Ď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:
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:
' 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:
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 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.