V tej vadnici bomo s pomočjo primerov spoznali samodejno pošiljanje in razpakiranje Java.
Java Autoboxing - primitivni tip za ovojni predmet
Pri samodejnem zaboju prevajalnik Java samodejno pretvori primitivne tipe v ustrezne predmete razreda ovitka. Na primer
int a = 56; // autoboxing Integer aObj = a;
Avtoboks ima veliko prednost pri delu z zbirkami Java.
Primer 1: Java Autoboxing
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) )
Izhod
ArrayList: (5, 6)
V zgornjem primeru smo ustvarili seznam nizov vrste Integer. Seznam matrik torej lahko vsebuje samo predmete Integer
tipa.
Opazite vrstico,
list.add(5);
Tukaj posredujemo primitivno vrednost tipa. Vendar se zaradi samodejnega boksa primitivna vrednost samodejno pretvori v Integer
objekt in shrani na seznam matrike.
Razpakiranje Java - predmeti za prvotne vrste
Pri razpakiranju prevajalnik Java samodejno pretvori predmete razreda ovitka v ustrezne primitivne tipe. Na primer
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Kot autoboxing , Unboxing se lahko uporablja tudi z zbirkami Java.
Primer 2: Razpakiranje Java
import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) )
Izhod
ArrayList: (5, 6) Vrednost pri indeksu 0: 5
V zgornjem primeru upoštevajte vrstico,
int a = list.get(0);
Tu get()
metoda vrne objekt z indeksom 0. Vendar se zaradi razpakiranja objekt samodejno pretvori v primitivni tip int
in dodeli spremenljivki a.