
"Dan sekarang, pelajaran singkat dari Diego. Singkat dan to the point. Tentang konversi tipe referensi."
"Mari kita mulai dengan variabel Objek. Anda dapat menetapkan jenis referensi apa pun ke variabel tersebut ( konversi pelebaran ). Namun, untuk membuat penugasan ke arah lain ( konversi penyempitan ), Anda harus secara eksplisit menunjukkan operasi pemeran:"
Kode | Keterangan |
---|---|
|
Konversi referensi pelebaran tipikal |
|
Konversi referensi penyempitan tipikal |
|
Konversi pelebaran. |
|
Kesalahan waktu proses! Anda tidak dapat mentransmisikan referensi Integer ke referensi String. |
|
Kesalahan waktu proses! Anda tidak dapat mentransmisikan referensi Integer ke referensi Float. |
|
Konversi ke jenis yang sama. Konversi referensi penyempitan. |
" Konversi referensi pelebaran atau penyempitan tidak mengubah objek dengan cara apa pun. Bagian penyempitan (atau pelebaran) secara khusus mengacu pada fakta bahwa operasi penugasan mencakup (tidak termasuk) pemeriksaan tipe variabel dan nilai barunya. "
"Ini adalah contoh langka di mana semuanya jelas."
"Untuk menghindari kesalahan dalam contoh ini , kami memiliki cara untuk mengetahui tipe apa yang direferensikan oleh variabel Object: "
int i = 5;
float f = 444.23f;
String s = "17";
Object o = f; // o stores a Float
if (o instanceof Integer)
{
Integer i2 = (Integer) o;
}
else if (o instanceof Float)
{
Float f2 = (Float) o; // This if block will be executed
}
else if (o instanceof String)
{
String s2 = (String) o;
}
"Anda harus melakukan pemeriksaan ini sebelum setiap konversi pelebaran kecuali Anda 100% yakin dengan tipe objek."
"Mengerti."
GO TO FULL VERSION