Klasa omotača na Javi - Automatsko bokiranje, otpakiranje i pretvaranje

Sadržaj:

Anonim

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

  1. Klasa Wrapper može se koristiti za pretvaranje objekta u primitivni tip podataka ili obrnuto.
  2. Upotreba predavanja omota poboljšava rad programa.
  3. 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.
  4. Neke važne metode nudi klasa omotača koja se koristi za izvođenje pretraživanja i razvrstavanja u zbirkama.
  5. Oduzimanje i zbrajanje, ove vrste operacija ne mogu mijenjati staru vrijednost primitivnog cjelobrojnog razreda Wrapper klase, zato je klasa Wrapper poznata kao nepromjenjiva.
  6. 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 -

  1. Kako izgleda Izjava o slučaju na Javi?
  2. Što je generika u Javi?
  3. Koncept serializacije u Javi
  4. Java Top 8 pitanja o intervjuu
  5. Alati za implementaciju Java
  6. Primjeri i način na koji generički djeluju u C #