Tento článek vám pomůže naučit se metodu, jak získat typ objektu v Javě.
Jak získat typ objektu v Javě?
Pro získání typu předdefinovaného nebo uživatelem definovaného objektu třídy v Javě můžete použít:
- getClass() metoda
- instanceof operátor
Nyní se podíváme na každou ze zmíněných metod jednu po druhé!
Metoda 1: Získat typ objektu předdefinované třídy pomocí metody getClass().
V Javě máme předdefinované třídy jako obalové třídy jako String, Double, Integer a mnoho dalších. Někdy potřebujeme ověřit typ objektu při použití předdefinovaných tříd. Za tímto účelem Java nabízí „ getClass() “ metoda, která patří do “ Objekt “třída.
Syntax
Syntaxe „ getClass() “ metoda je uvedena takto:
X. getClass ( )
Zde, „ getClass() “ metoda vrátí třídu zadaného “ X “objekt.
Příklad
V tomto příkladu vytvoříme objekt typu String s názvem „ X ” obsahující následující hodnotu:
Tětiva X = 'Ahoj' ;
Dále vytiskneme výpis pomocí „ System.out.println() “ metoda:
Systém . ven . println ( 'x patří?' ) ;Nakonec získáme typ objektu „ X “ zavoláním na „ getClass() “ metoda:
Systém . ven . tisk ( X. getClass ( ) ) ;Výstup ukazuje, že vytvořená proměnná patří do třídy Java String:
Podívejme se na další metodu, jak získat typ objektu pomocí operátoru „instanceof“.
Metoda 2: Získání typu předdefinovaného objektu třídy pomocí operátoru „instanceof“.
Můžete také využít „ instanceof ” pro kontrolu typu objektu v programu Java. Tento operátor vrací booleovskou hodnotu, která označuje, zda je objekt instancí konkrétní třídy či nikoli.
Syntax
Syntaxe „ instanceof “ je následující:
Tady, ' X “ je předmět a “ Celé číslo ” je předdefinovaná třída Java wrapper. ' instanceof Operátor ” zkontroluje, zda objekt patří do uvedené třídy či nikoli, a vrátí booleovskou hodnotu.
Příklad
V tomto příkladu máme objekt „ X “ třídy Integer s “ 5 “ jako jeho hodnotu:
Dále vytiskneme výpis pomocí „ System.out.println() “ metoda:
Systém . ven . tisk ( 'x je instancí třídy Integer?' ) ;Nyní zkontrolujeme, zda je objekt instancí třídy Integer nebo ne:
Systém . ven . tisk ( X instanceof Celé číslo ) ;
Zobrazený výstup „ skutečný 'jako objekt' X ” je instancí třídy Integer:
V tomto okamžiku vás možná zajímá, jak získat typ uživatelem definovaného objektu třídy. Níže uvedená část vám v tomto ohledu pomůže.
Metoda 3: Získat typ uživatelem definovaného objektu třídy pomocí metody getClass().
Typ uživatelem definovaného objektu třídy můžete také získat pomocí „ getClass() “ metoda. V takovém scénáři porovnáme objekt s názvem třídy pomocí „ == “porovnávací operátor.
Syntax
Pro specifikovaný účel je syntaxe „ getClass() “ metoda je uvedena jako:
Zde, „ getClass() “ metoda se volá „ myclassObj 'předmět' Moje třída “ a poté porovnat s názvem pomocí operátoru porovnání “ == “.
Příklad
V tomto příkladu máme tři třídy s názvem „ Moje třída “, “ Moje nová třída ', a ' Příklad “, kde MyClass funguje jako nadřazená třída MynewClass:
' Moje nová třída “ je dětská třída, protože je rozšířena z „ Moje třída “:
třída Moje nová třída rozšiřuje Moje třída { }V metodě main() třídy “ Příklad “, deklarujeme a vytvoříme instanci objektu rodičovské třídy “ Moje třída “. Poté zkontrolujte, zda vytvořený objekt patří do které třídy; rodič nebo dítě? Za tímto účelem zavoláme „ getClass() ” s vytvořeným objektem a porovnejte výslednou hodnotu s názvy nadřazených a podřízených tříd pomocí podmínek if-else-if:
veřejnost třída Příklad {veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
MyClass myclassObj = Nový Moje třída ( ) ;
-li ( myclassObj. getClass ( ) == Moje třída. třída ) {
Systém . ven . println ( 'Objekt 'myclassObj' je typem 'MyClass'' ) ;
} jiný -li ( myclassObj. getClass ( ) == Moje nová třída. třída ) {
Systém . ven . println ( 'Objekt 'myclassObj' je typem 'MynewClass'' ) ;
}
}
}
Výstup indikuje, že objekt „ myclassObj ” patří do nadřazené třídy s názvem “ Moje třída “:
Nyní přejděte k další sekci!
Metoda 4: Získání typu uživatelem definovaného objektu třídy pomocí operátoru „instanceof“.
Podobně jako u předdefinovaných tříd, pro uživatelem definované třídy můžete také získat typ objektu pomocí „ instanceof “ operátor.
Syntax
Syntaxe je uvedena níže:
Zde, „ instanceof operátor zkontroluje, zda myclassObj ' je příkladem ' Moje třída ' nebo ne.
Příklad
Nyní použijeme stejné třídy, které jsme vytvořili v předchozím příkladu. Jediný rozdíl je v tom, že budeme používat „ instanceof ” k ověření, zda vytvořená instance objektu patří do nadřazené nebo podřízené třídy:
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
MyClass myclassObj = Nový Moje třída ( ) ;
-li ( myclassObj instanceof Moje třída ) {
Systém . ven . println ( 'Objekt 'myclassObj' je instancí 'MyClass'' ) ;
} jiný -li ( myclassObj instanceof Moje nová třída ) {
Systém . ven . println ( 'Objekt 'myclassObj' je instancí 'MynewClass'' ) ;
}
}
}
Daný výstup ukazuje, že „ instanceof Operátor ” ověřil typ objektu jako “ Moje třída “:
Zkompilovali jsme všechny metody související se získáním typu objektu v Javě.
Závěr
Chcete-li získat typ objektu v Javě, můžete použít „ getClass() “ metoda nebo “ instanceof “ operátor. Tyto metody lze použít ke kontrole typů objektů pro předdefinované i uživatelem definované třídy. Metoda getClass() vrací název třídy, zatímco operátor „instanceof“ vrací booleovskou hodnotu, kde „ skutečný ” označuje, že objekt patří do uvedené třídy; jinak se vrátí „ Nepravdivé “. Tento článek poskytuje všechny metody, jak získat typ objektu v Javě.