"Amarga pangembang bisa nggawe kelas sing nggambarake angka, mula dheweke mutusake dadi kreatif, kaya pangembang nyata."
"Kaping pisanan, dheweke teka karo kelas Nomer abstrak, sing asale Byte, Short, Integer, Long, Float, lan Double. Nduwe cara sing mbantu ngowahi angka menyang jinis numerik liyane."
Metode saka kelas Number | |
---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
"Bener. Sawise kabeh, sampeyan ora bisa nulis iki:"
Long x = 100000;
Integer y = (Integer) x;
"Ya, jinis iki dudu primitif. Mulane kita nggunakake metode kelas Angka:"
Long x = 100000;
Integer y = x.intValue();
"Nanging isih ana sawetara perkara sing kudu ditimbang. Amarga Integer dudu int, obyek Integer ora bisa dibandhingake karo operator «==» klasik.
int x = 500;
int y = 500;
x == y; //true
Integer x = 500;
Integer y = 500;
x == y; //false
x.equals(y); //true
"Pancen. Kepriye aku ora langsung mikir."
"Nanging ana liyane."
"Sampeyan nggawe korsleting sirkuit! Apa maneh?"
"Nalika kita nemtokake nilai int menyang variabel Integer, metode Integer.valueOf diarani:"
Kode | Apa pancene kedadeyan |
---|---|
|
|
“Iya, aku wis ngerti yen saka conto ing ndhuwur.”
"Nanging, fungsi valueOf ora tansah nggawe obyek Integer anyar."
"Eh, apa maksudmu "ora mesthi"?"
"Iku cache nilai saka -128 kanggo 127."
Kode | Apa pancene kedadeyan | Katrangan |
---|---|---|
|
|
Variabel x, y, lan z ngemot referensi kanggo obyek sing beda |
|
|
Variabel x, y, lan z ngemot referensi kanggo obyek sing padha. |
|
|
Variabel z lan t ngemot referensi kanggo obyek sing padha. |
"Ing tembung liyane, kahanan iki:"
1) Yen kita nulis «integer anyar ()», banjur kita dijamin kanggo njaluk obyek anyar.
2) Yen kita nelpon Integer.valueOf (), tegas utawa liwat autoboxing, banjur cara bisa bali obyek anyar utawa obyek cache yen pitakonan nomer ing sawetara saka -128 kanggo 127.
"Apa sing elek banget babagan cara ngasilake obyek saka cache?"
"Ora apa-apa. Sampeyan mung kudu ngerti yen kadhangkala, nalika sampeyan ora nyana, obyek bisa uga padha. Kabeh kanthi kesetaraan rumit. Yen kita mbandhingake primitif karo non-primitif, banjur dibandhingake primitif: "
int x = 300;
Integer y = 300;
Integer z = 300;
x == y; //true (comparison based on primitive value)
x == z; //true (comparison based on primitive value)
y == z; //false (comparison based on references)
int x = 100;
Integer y = 100;
Integer z = 100;
x == y; //true (comparison based on primitive value)
x == z; //true (comparison based on primitive value)
y == z; //true (comparison based on references; they point to the same object)
int x = 100;
Integer y = new Integer(100);
Integer z = 100;
x == y; //true (comparison based on primitive value)
x == z; //true (comparison based on primitive value)
y == z; //false (comparison based on references; they point to different objects)
"Apik ... Lan carane aku bakal apal kabeh iki?"
"Sampeyan ora perlu apal iki. Sampeyan mung kudu ngerti carane iki kabeh diatur lan apa bener mengkono nalika primitif lan non-primitif pasangan teka menyang muter ".
"Aku uga menehi saran supaya sampeyan ndeleng metode kelas Integer. Wis sawetara cara sing apik lan migunani. Sampeyan malah wis kerep nggunakake salah sijine."
"Iya, aku inget. Integer.parseInt();"
GO TO FULL VERSION