Autoboxing (mga hindi nababago) - 1

"Hi, Amigo!"

"Ngayon sasabihin ko ang tungkol sa autoboxing . Ang ibig sabihin ng AutoBoxing ay awtomatikong maglagay ng isang bagay sa isang kahon."

"Maaalala mo na ang Java ay may mga uri na nagmamana ng klase ng Object, pati na rin ang mga primitive na uri. Ngunit lumalabas na ang mga maginhawang bagay bilang mga koleksyon at generic ay gumagana lamang sa mga uri na nagmamana ng Bagay."

"Pagkatapos ay ginawa ang desisyon na gumawa ng isang hindi primitive na katapat ng bawat primitive na uri."

Primitive na uri Non-primitive na katapat
byte Byte
maikli Maikli
int Integer
mahaba Mahaba
lumutang Lumutang
doble Doble
boolean Boolean
char karakter
walang bisa walang bisa

"Ngunit napakahirap na mag-convert sa pagitan ng mga ganitong uri sa lahat ng oras:"

int x = 3;
Integer y = new Integer(x + 1);
int z = y.intValue();

"Lalo na kapag direktang nagtatrabaho sa mga koleksyon:"

Halimbawa
int[] numbers = new int[10];
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++)
{
 list.add( new Integer(i));
}

"Kaya ang mga tagalikha ng Java ay nag-imbento ng «autoboxing» ng mga primitive na uri ng kanilang at 'unboxing' sa kanilang mga hindi primitive na katapat."

"Narito kung paano ito gumagana:

Anong nakikita mo Kung ano talaga ang nangyayari
int x = 3;
Integer y = x + 1;
int x = 3;
Integer y = Integer.valueOf(x + 1);
int z = y;
int z = y.intValue();
Boolean b = Boolean.FALSE;
boolean a = b;
Boolean b = Boolean.FALSE;
boolean a = b.booleanValue();
Integer x = null;
int y = x;
Integer x = null; int y = x.intValue(); //Throws an exception

"Simple lang ang lahat. Maaari kang magtalaga ng mga uri ng int at Integer sa isa't isa, at ang compiler ang bahala sa lahat ng iba pa."

"Napakakomportable niyan."

"Yep. Pero may mga nuances na pag-uusapan ko mamaya."