Većinu puta koristimo primitivne tipove podataka dok pišemo program na bilo kojem jeziku. Ali postoje situacije u kojima primitivni tipovi podataka nedostaju u području i je jedan od njih. Koristimo se da bismo prevladali nedostatke primitivnih tipova podataka omotači . Taj se postupak naziva Autoboxing. O detaljnom Autoboxingu u Javi razgovarat ćemo kroz donji dokument:
Započnimo.
Što je boks i automatsko boksanje na Javi?
Boks i autoboks često se koriste za označavanje istog pojma. Ali u stvarnosti nisu potpuno isti. Prvo razgovarajmo o konceptu boksa. Što je boks? Zvuči kao da nešto držimo u kutiji, zar ne? Da, kada kažemo da boksamo ili umotavamo primitivni tip podataka, to znači da ga umotavamo u oblik objekta. Još uvijek zbunjeni? Uzmimo primjer.
int FirstNumber = 1
Varijabla 'FirstNumber' je tipa int koja je a . Sada, što ako želim pretvoriti varijablu 'FirstNumber' u objekt? Java pruža način za to.
Integer SecondNumber = novi Integer (2)
Primijetite da 'SecondNumber' nije tipa int, već je objekt tipa Integer. Ovaj postupak pretvaranja primitivnih vrsta podataka u objekt naziva se boks. Možete se pitati kako je to moguće? Razmislimo o tome koji je najjednostavniji način ostvarenja ovog zadatka. Možemo stvoriti razred sadrži jedan atribut tipa int, konstruktor koji uzima vrijednost tipa int i dodjeljuje ga našem atributu klase, te neke metode za manipulaciju ovom vrijednošću int. Da biste saznali više o tome, pogledajte ovo dokument .
Vidjeli smo kako se vrsta int može pretvoriti u Javu. Postoji li način pretvaranja drugih primitivnih vrsta podataka u objekte? Da, Java ima odgovarajuće klasa omota za različite primitivne tipove podataka. Istražit ćemo ih u sljedećem odjeljku ovog posta.
pretvori datumski niz u datum
Autoboks
U ovom trenutku znamo što je boks. Sada da shvatimo što je Autoboxing. kada postupak boksa obavlja kompajler bez izričitog spominjanja, naziva se automatskim boksom.
Shvatimo to na primjeru:
import java.util.ArrayList import java.util.Listclass Box {public static void main (String [] args) {List Mylist = new ArrayList () for (int i = 0 i<10 i++) Mylist.add(i) } }
Kao što smo ranije razgovarali prihvaća samo objekte i primitivni tip podataka ne radi. U gornjem programu nismo pretvorili tip u objekte tipa Integer, a program se i dalje izvršava bez greške. Kako? Odgovor na ovo pitanje je da je sastavljač automatski odradio boksački postupak prije dodavanja vrijednosti na 'Mylist' pa otuda i naziv Autoboxing.
Mylist.add (Integer.valueOf (i))
Gornji redak koda u naš program dodaje kompajler.
Bilješka- U gornjem retku kôda klasa ime’Integer ’spominje se prije metode valueOf () jer je valueOf () statična metoda. Za više primjera pogledajte dokumenti .
Raspakiranje i automatsko kutiranje
Vidjeli smo kako primitivnog tipa podataka pretvaraju se u objekte. Ali ovo je samo polovica priče. Druga polovica priče je pretvaranje objekta klase omota tipa u njegov primitivni tip podataka koji se zove Raspakirati .
Na primjer-
Integer FirstNumber = novi Integer (1) int SecondNumber = FirstNumber.intValue () System.out.println (SecondNumber)
Izlaz- 1
Automatsko boksanje- Kada se postupak raspakiranja koji je izvršio kompajler bez izričitog spominjanja naziva Autounboxing.
Na primjer-
Cijeli broj = novi cijeli broj (20) int broj = broj
Gornji je kod primjer automatskog boksanja. U sljedećem odjeljku naučit ćemo o tečajevima omota.
Klase omota
Pretvorili smo u tip varijable intl Integer tip objekta. Ova cijela klasa je klasa omotača. U Javi je klasa omota dostupna za svaku . Te klase omotača pomažu nam u pretvaranju varijable iz primitivnog tipa u odgovarajući objekt tipa klase omotača. Metode klasa omota korisne su u manipulaciji vrijednostima.
Tablica u nastavku govori nam o primitivnom tipu podataka i pripadajućoj klasi omotača.
čitati i pisati excel datoteku u javi
Primitivni tip | Klasa omota |
boolean | Booleova |
Pozdrav | Bajt |
ugljen | Lik def __init__ python |
plutati | Plutati |
int | Cijeli broj |
dugo | Dugo |
kratak | Kratak |
dvostruko | Dvostruko |
Primijetite upotrebu velikih slova u razredima Wrapper.
Tako smo došli do kraja ovog članka o ‘Autoboxingu u Javi’. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte, zajedno s raznim Java okvirima poput Hibernate & Spring.
Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga 'autoboxing na Javi', a mi ćemo vam se javiti u najkraćem mogućem roku.