Jak získat typ objektu v Javě?

Jak Ziskat Typ Objektu V Jave



Objekt je fyzická entita, která má svůj vlastní stav a chování a chová se jako jedinečná instance třídy Java. To. Když objekt pochází ze zdroje, považuje se za užitečné prozkoumat typ objektu. Znalost typu objektu je také zásadní při práci s kolekcí, která obsahuje různé objekty, nebo když je nutné provést logickou operaci se stejným druhem proměnných.

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í:

X instanceof Celé číslo

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:

Celé číslo X = 5 ;

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:

myclassObj. getClass ( ) == Moje třída. třída

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:

třída Moje třída { }

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

myclassObj instanceof Moje třída

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 třída Příklad {
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ě.