Uvod u Wrapper klasu na Javi
Klasa Wrapper važna je klasa knjižnice java.lang. Objekti klase omota stvaraju omotač za primitivne tipove podataka. Tijekom stvaranja objekta klase omota, stvara se prostor u memoriji u kojoj se pohranjuje primitivni tip podataka.
Klasa Wrapper pruža neke značajke za pretvaranje objekta u primitivne podatke i primitivne podatke u objekt, tj. Boks / unboxing. Pretvaranje iz objekata u primitivne podatke i primitivne podatke u objekt odvija se automatski. Primitivni tip podataka odnosi se na int, float, char, double, byte itd.
Sintaksa:
Ispod dane deklaracije pokazuje kako Wrapper klasa radi u java programu.
npr. int i = 100;
U niže navedenom primjeru možemo vidjeti i je cijeli broj podataka. Neko vrijeme u java cijeli broj treba proći kao vrstu objekta. U ovom slučaju možemo upotrijebiti klasu zamota za pretvorbu cijelog broja u objekt.
Integer intVal = new Integer(i);
U gore datoj sintaksi možemo vidjeti kako se primitivni tip podataka pretvara u objekt pomoću objekta klase Integer. Isto tako se može reći da je primitivni tip podataka zamotan kao objekt.
Upotreba klase Wrapper na Javi
- Klasa Wrapper može se koristiti za pretvaranje objekta u primitivni tip podataka ili obrnuto.
- Upotreba predavanja omota poboljšava rad programa.
- Klasa Wrapper pomaže u serializaciji objekta i obrnuto, može pretvoriti primitivne podatke u objekte. Ponekad trebamo strujati objekte, u tom slučaju klasa omota može ga pretvoriti u format serializacije.
- Neke važne metode nudi klasa omotača koja se koristi za izvođenje pretraživanja i razvrstavanja u zbirkama.
- Oduzimanje i zbrajanje, ove vrste operacija ne mogu mijenjati staru vrijednost primitivnog cjelobrojnog razreda Wrapper klase, zato je klasa Wrapper poznata kao nepromjenjiva.
- Klasa omotača koja se koristi u procesu multithreadinga, jer je multithreading procesu potreban objekt za sinkronizaciju procesa. Klasa Wrapper pretvara različite vrste podataka u objekt.
Na temelju JavaAPI, hijerarhija klase Wrapper drži Object na vrhu različitih primitivnih klasa. Broj, znak i boolean dolazi na drugu razinu neposredno nakon Objekta. Na trećoj razini Byte, Short, Int, Long, Float, Double spada pod vrstu podataka Number.
Klase omotača koriste sljedeća dva mehanizma Automatsko kutijanje i raspakiranje za pretvorbu / zamotavanje podatkovnog tipa ili pretvaranje objekta u primitivni tip podataka.
Automatsko bokiranje: Automatsko bokiranje odnosi se na automatsku pretvorbu primitivnog tipa podataka u objekt pomoću Wrapper klasa. Poznat je kao Autoboxing. U donje datim primjerima, int pretvoren u objekt Integer & u primjerima c, različiti se primitivni tipovi podataka pretvaraju u odgovarajući objekt.
Raspakiranje: Raspakiranje je obrnuti proces automatskog boksiranja. Automatsko pretvaranje objekta klase omota u odgovarajući primitivni tip podataka poznat je kao Unboxing. U donjem primjeru b, objekt Integer se pretvara u int primitivni tip podataka.
Primjeri Wrapper klase na Javi
Ispod su različiti primjeri Wrapper klase na Javi.
Primjer 1
U niže navedenom primjeru možemo vidjeti kako se ručna pretvorba odvija putem klase omota iz int i u objekt k.
Kodirati:
import java.util.*;
class WrapperExample (
public static void main(String args())(
int j=100;
//converting int j to integer k as an object
Integer k = new Integer(j);
System.out.println(j + "\n" + k);
)
)
Izlaz:
U gore navedenom primjeru možemo vidjeti kako se eksplicitno odvija konverzija.
Primjer 2
U niže navedenom primjeru možemo vidjeti kako se ovaj postupak pretvorbe odvija automatski, tj. Poznat kao autobox.
Kodirati:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
int j = 500;
ArrayList arrValues = new ArrayList();
arrValues.add(j); // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
)
)
Izlaz:
U gore navedenom primjeru, int vrijednost pretvara se u objekt implicitno kao objekt. Nadalje, ovu vrijednost možete dobiti iz ArrayList-a.
Primjer 3
U ovom ćemo primjeru proći kroz implementaciju Unboxinga. Raspakiranje je obrnuti proces automatskog boksiranja.
Kodirati:
import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
ArrayList arrValues = new ArrayList();
arrValues.add(250);
//unboxing here as int data type from Integer object
int k = arrValues.get(0);
//value printed is in primitive data type
System.out.println(k);
)
)
Izlaz:
U gore navedenom primjeru, polje objekta ArrayList pretvara se u k primitivni tip podataka, tj. Int k.
Primjer 4
Sljedeći navedeni primjer sadrži sve detalje automatskog boksiranja i otpakiranja.
Kodirati:
import java.util.*;
class WrapperConversionExample (
public static void main(String args())(
int i = 15;
float j = 9.6f;
double k = 120.8;
byte l = 1;
//creating instance of Integer object
Integer iObj = new Integer(i);
//creating instance of Float object
Float fObj = new Float(j);
//creating instance of Double object
Double dObj = new Double(k);
//creating instance of Double object
Byte bObj = new Byte(l);
//value printed is in object
System.out.println("Value as an Integer object > " + iObj);
System.out.println("Value as a Float object > " + fObj);
System.out.println("Value as a Double object > " + dObj);
System.out.println("Value as a Byte object > " + bObj);
//primitive data type from the object
int m = iObj;
float n = fObj;
double o = dObj;
byte p = bObj;
//value printed is in primitive data type
System.out.println("Value as an int primitive type > " + m);
System.out.println("Value as a float primitive type > " + n);
System.out.println("Value as a double primitive type > "+ o);
System.out.println("Value as a byte primitive type > " + p);
)
)
Izlaz:
U gore navedenom programu možemo vidjeti implementaciju Wrapper klasa. Klase omotača pretvaraju primitivni tip podataka u objekt i objekt u primitivni tip podataka. Klasa omota sadrži posebne klase za svaku primitivnu vrstu podataka.
Zaključak
Kroz klase Wrapper lako možemo razumjeti autoboxing i unboxing. Kako se pretvaranje odvija od primitivnog objekta i obrnuto, što se može lako razumjeti kroz Wrapper klase. Za svaku primitivnu vrstu podataka postoji posebna klasa jave.
Preporučeni članak
Ovo je vodič za Wrapper klasu na Javi. Ovdje smo raspravljali o sintaksi i uporabi klase omota u Javi, zajedno s različitim primjerima i implementacijom koda. Možete i proći naše druge predložene članke da biste saznali više -
- Kako izgleda Izjava o slučaju na Javi?
- Što je generika u Javi?
- Koncept serializacije u Javi
- Java Top 8 pitanja o intervjuu
- Alati za implementaciju Java
- Primjeri i način na koji generički djeluju u C #