1. Dhaptar jinis pambungkus
Sampeyan ngerti yen Jawa duwe 8 jinis primitif, yaiku jinis sing dudu kelas. Ing tangan siji, iki apik - padha prasaja lan njupuk munggah sethitik papan. Ing sisih liya, kadhangkala kelas mung sing kita butuhake. Sampeyan bakal ngerti persis apa sebabe ana ing pawulangan sabanjure.
Dadi apa sing bisa ditindakake?
Diwiwiti karo versi Jawa kaping lima, saben jinis primitif entuk kelas kembar. Saben kelas kasebut nyimpen lapangan siji kanthi nilai saka jinis tartamtu. Kelas kasebut diarani jinis pambungkus , amarga mbungkus nilai primitif ing kelas.
Punika dhaptar jinis kasebut. Apa sampeyan ngerti?
Tipe primitif | Kelas pambungkus |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jeneng jinis primitif diwiwiti kanthi huruf cilik, nanging jeneng kelas bungkus diwiwiti kanthi huruf gedhe. Sawetara jeneng kelas uga rada suwe: Integer
instead of int
и Character
instead of char
.
Kabeh obyek saka kelas pambungkus ora bisa diganti ( ora bisa diganti ).
Kode sing disederhanakake kanggo Integer
kelas katon kaya iki:
Kode | Cathetan |
---|---|
|
Konstruktor Variabel Metode ngasilake nilai Metode statis nggawe Integer obyek anyar kanggo int variabel |
2. Ngonversi an int
dadi anInteger
Jinis pambungkus dianggep minangka mitra kanggo sedulur primitif: sampeyan bisa kanthi gampang nggawe obyek pambungkus sing cocog karo jinis primitif.
Ayo nggunakake jinis int minangka conto kanggo nganalisa kepiye jinis primitif sesambungan karo jinis bungkus sing cocog. Kode kanggo ngowahi saka an int
menyang Integer
lan kosok balene bakal katon kaya iki:
Kanggo ngowahi a int
dadi Integer
, sampeyan kudu nulis kode iki:
Integer name = new Integer(value);
Where name
jeneng variabel Integer
, lan value
nilai kebungkus int
.
Tuladha:
Kode | Cathetan |
---|---|
|
|
|
|
|
Lan kanggo ngowahi an Integer
dadi int
, sampeyan kudu nulis kode iki:
int name = variable.intValue();
Where name
jeneng variabel int
, lan variable
referensi kanggo Integer
obyek.
Tuladha:
Kode | Cathetan |
---|---|
|
|
|
|
|
|
|
|
3. Autoboxing lan unboxing
Nanging malah operasi prasaja karo Integer
jinis ora gampang kanggo nulis.
Kaya sing wis dakkandhakake sadurunge, Integer
jinis kasebut ora bisa diganti ( ora bisa diganti ). Kanggo nggawe Integer
obyek kanthi nilai anyar int
, sampeyan kudu nggawe Integer
obyek anyar kanthi jelas. Yen ngandika, iku gampang kanggo njaluk Nilai saka int
disimpen ing Integer
obyek - mung nelpon intValue()
cara.
Tuladha:
Kode | Katrangan |
---|---|
|
Bungkus 5 obyek Entuk nilai saka obyek Gawe obyek anyar (padha Integer karo 10)Integer Integer |
Iki kode sing rada rumit, apa sampeyan mikir?
Pangripta Jawa nganggep mangkono, mula dheweke ngajari kompiler carane nindakake operasi kasebut kanthi otomatis. Konversi otomatis saka an int
menyang an Integer
diarani autoboxing (otomatis nglebokake nilai menyang kothak), lan operasi mbalikke (ngowahi an Integer
dadi int
) diarani unboxing .
Kode sampeyan | Apa compiler ndeleng |
---|---|
|
|
|
|
|
|
Thanks kanggo autoboxing lan unboxing, sampeyan bisa kanthi aman nemtokake int
variabel Integer
lan kosok balene. Sampeyan bisa nulis ekspresi saka kerumitan apa wae tanpa mbedakake antarane int
lan Integer
jinis.
Tuladha:
Kode | Apa compiler bakal generate |
---|---|
|
|
|
|
4. Mbandhingake variabel pambungkus
Autoboxing lan unboxing minangka proses sing prasaja lan transparan. Kita nggunakake new Integer()
statements minangka needed, lan kita nelpon intValue()
cara sing perlu.
Kabeh dianggo becik lan gampang kanggo sampeyan, programmer. Elinga yen sampeyan mbandhingake an Integer
lan Integer
, mula perbandingan kasebut adhedhasar referensi lan dudu nilai.
Kode | Output konsol |
---|---|
|
|
|
|
Variabel a
lan b
ora nyimpen int
nilai. Padha nyimpen referensi kanggo obyek. Tegese penting kanggo ngelingi carane mbandhingake kanthi bener:
salah | bener |
---|---|
|
|
GO TO FULL VERSION