Trieda Java Wrapper (s príkladmi)

V tomto tutoriále sa pomocou príkladov dozvieme niečo o triede Java Wrapper.

Obalu tried v Jave slúži k prevodu primitívne typy ( int, char, floatatď) do príslušných objektov.

Každý z 8 primitívnych typov má zodpovedajúce triedy wrapperov.

Primitívny typ Triedička zavinovačiek
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Preveďte primitívny typ na obaľovacie objekty

valueOf()Metódu môžeme použiť aj na prevod primitívnych typov na zodpovedajúce objekty.

Príklad 1: Primitívne typy na obaľovacie objekty

 class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) ) 

Výkon

Vytvorí sa objekt celého čísla. Vytvorí sa objekt Double.

Vo vyššie uvedenom príklade sme použili valueOf()metódu na prevod primitívnych typov na objekty.

Tu sme pomocou instanceofoperátora skontrolovali, či sú Integeralebo sú generované objekty Doubletypu alebo nie.

Kompilátor Java však môže primitívne typy priamo konvertovať na zodpovedajúce objekty. Napríklad,

 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 

Tento proces sa nazýva automatický box . Ak sa chcete dozvedieť viac, navštívte Java autoboxing a unboxing.

Poznámka : Primitívne typy môžeme tiež konvertovať na obalové objekty pomocou Wrapperkonštruktorov triedy. Ale po Java 9 je použitie konštruktorov zahodené.

Zbaliť objekty do primitívnych typov

Pre prevod objektov do primitívnych typov, možno použiť zodpovedajúcu metódy hodnôt ( intValue(), doubleValue()atď), prítomný v každej triede obálky.

Príklad 2: Zabaľte objekty do primitívnych typov

 class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) ) 

Výkon

 Hodnota a: 23 Hodnota b: 5,55 

Vo vyššie uvedenom príklade sme použili metódu intValue()and doubleValue()na prevod objektov Integera Doublena zodpovedajúce primitívne typy.

Kompilátor Java však môže automaticky prevádzať objekty na zodpovedajúce primitívne typy. Napríklad,

 Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj; 

Tento proces sa nazýva unboxing . Ak sa chcete dozvedieť viac, navštívte Java autoboxing a unboxing.

Výhody triedičiek obalov

  • V prostredí Java niekedy budeme musieť použiť objekty namiesto primitívnych dátových typov. Napríklad pri práci so zbierkami.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    V takýchto prípadoch nám triedy obálky pomáhajú používať primitívne dátové typy ako objekty.
  • Nulovú hodnotu môžeme uložiť do obalových objektov. Napríklad,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Poznámka : Primitívne typy sú efektívnejšie ako zodpovedajúce objekty. Preto, keď je požiadavkou efektívnosť, vždy sa odporúčajú primitívne typy.

Zaujímavé články...