Šajā apmācībā mēs uzzināsim par Java autoboxing un unboxing ar piemēru palīdzību.
Java Autoboxing - primitīvs veids, kā ietīt objektu
In autoboxing , Java kompilators automātiski pārveido primitīvas veidi savās atbilstošās iesaiņojuma klases objektiem. Piemēram,
int a = 56; // autoboxing Integer aObj = a;
Automātiskajai kopēšanai ir liela priekšrocība, strādājot ar Java kolekcijām.
1. piemērs: Java automātiskā pārlūkošana
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); ) )
Rezultāts
ArrayList: (5, 6)
Iepriekš minētajā piemērā mēs esam izveidojuši masīvu sarakstu ar veselu skaitli. Tādējādi masīvu sarakstā var būt tikai Integer
veida objekti .
Ievērojiet līniju,
list.add(5);
Šeit mēs nododam primitīva tipa vērtību. Tomēr autoboksēšanas dēļ primitīvā vērtība tiek automātiski pārveidota par Integer
objektu un saglabāta masīvu sarakstā.
Java Unboxing - iesaiņošanas objekti pret primitīviem veidiem
In izsaiņošana , Java kompilators automātiski pārveido iesaiņojuma klases objektus savos atbilstošās primitīvas veidi. Piemēram,
// autoboxing Integer aObj = 56; // unboxing int a = aObj;
Tāpat autoboxing , izsaiņošana var izmantot arī ar Java kolekcijām.
2. piemērs: Java Unboxing
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); ) )
Rezultāts
ArrayList: (5, 6) Vērtība indeksā 0: 5
Iepriekš minētajā piemērā ievērojiet līniju,
int a = list.get(0);
Šeit get()
metode atgriež objektu indeksā 0. Tomēr, pateicoties izsaiņošanai , objekts tiek automātiski pārveidots primitīvajā tipā int
un piešķirts mainīgajam a.