"Dan sekarang, pengajaran ringkas daripada Diego. Ringkas dan tepat. Mengenai penukaran jenis rujukan."
"Mari kita mulakan dengan Pembolehubah objek. Anda boleh menetapkan sebarang jenis rujukan kepada pembolehubah sedemikian ( melebarkan penukaran ). Walau bagaimanapun, untuk membuat tugasan ke arah lain ( menyempitkan penukaran ), anda mesti menunjukkan operasi cast secara eksplisit:"
Kod | Penerangan |
---|---|
|
Penukaran rujukan meluas yang tipikal |
|
Penukaran rujukan penyempitan biasa |
|
Memperluaskan penukaran. |
|
Ralat masa jalan! Anda tidak boleh menghantar rujukan Integer kepada rujukan String. |
|
Ralat masa jalan! Anda tidak boleh menghantar rujukan Integer kepada rujukan Float. |
|
Penukaran kepada jenis yang sama. Penukaran rujukan yang mengecil. |
" Penukaran rujukan yang melebar atau mengecil tidak mengubah objek dalam apa cara sekalipun. Bahagian penyempitan (atau pelebaran) secara khusus merujuk kepada fakta bahawa operasi tugasan termasuk (tidak termasuk) pemeriksaan jenis pembolehubah dan nilai baharunya. "
"Ini adalah contoh yang jarang berlaku di mana semuanya jelas."
"Untuk mengelakkan ralat dalam contoh ini , kami mempunyai cara untuk mengetahui jenis yang dirujuk oleh pembolehubah Objek: "
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 semakan ini sebelum setiap penukaran yang meluas melainkan anda pasti 100% dengan jenis objek."
"Faham."
GO TO FULL VERSION