Java Wrapper osztály (példákkal)

Ebben az oktatóanyagban példák segítségével megismerhetjük a Java Wrapper osztályt.

A wrapper osztályok Java alkalmazások segítségével alakíthatóak primitív típusok ( int, char, floatstb) a megfelelő tárgyakat.

A 8 primitív típus mindegyike rendelkezik megfelelő burkoló osztályokkal.

Primitív típus Burkoló osztály
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

A primitív típus átalakítása tekercselő objektumokká

Használhatjuk a valueOf()módszert a primitív típusok megfelelő objektummá alakítására is.

1. példa: Primitív típusok a burkoló objektumokhoz

 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."); ) ) ) 

Kimenet

Létrejön egy egész szám objektuma. Létrejön egy Double objektum.

A fenti példában valueOf()a primitív típusok objektummá alakítására használtuk a módszert.

Itt már használják a instanceofkezelőt, hogy ellenőrizze, hogy a generált tárgyak a Integervagy Doubletípus, vagy sem.

A Java fordító azonban közvetlenül átalakíthatja a primitív típusokat megfelelő objektumokká. Például,

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

Ez a folyamat auto-box néven ismert . További információért keresse fel a Java autoboxing és unboxing oldalt.

Megjegyzés : A primitív típusokat átalakíthatjuk burkoló objektumokká is az Wrapperosztály konstruktorok segítségével. De a konstruktorok használatát a Java 9 után elvetik.

Wrapper objektumok primitív típusokba

Konvertálásához tárgyat a primitív típusokat, tudjuk használni a megfelelő érték módszerek ( intValue(), doubleValue(), stb) jelen az egyes wrapper class.

2. példa: Csomagoló objektumok primitív típusokba

 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); ) ) 

Kimenet

 A értéke: 23 A b értéke: 5,55 

A fenti példában az intValue()és doubleValue()metódust alkalmaztuk az Integerés Doubleobjektumok megfelelő primitív típusokká alakítására.

A Java fordító azonban automatikusan átalakíthatja az objektumokat megfelelő primitív típusokká. Például,

 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; 

Ez a folyamat unboxing néven ismert . További információért keresse fel a Java autoboxing és unboxing oldalt.

A burkoló osztályok előnyei

  • A Java-ban néha objektumokat kell használnunk primitív adattípusok helyett. Például a gyűjteményekkel való munka közben.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Ilyen esetekben a burkoló osztályok segítenek abban, hogy a primitív adattípusokat objektumként használjuk.
  • Tárolhatjuk a null értéket burkoló objektumokban. Például,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Megjegyzés : A primitív típusok hatékonyabbak, mint a megfelelő objektumok. Ezért, ha a hatékonyság a követelmény, mindig primitív típusokat ajánlunk.

érdekes cikkek...