"At ngayon, isang maikling aral mula kay Diego. Brief and to the point. About reference type conversions."
"Magsimula tayo sa mga variable ng Object. Maaari kang magtalaga ng anumang uri ng sanggunian sa naturang variable ( pagpapalawak ng conversion ). Gayunpaman, upang gawin ang pagtatalaga sa kabilang direksyon ( pagpapaliit ng conversion ), dapat mong tahasang ipahiwatig ang isang operasyon ng cast:"
Code | Paglalarawan |
---|---|
|
Isang karaniwang pagpapalawak ng reference na conversion |
|
Isang tipikal na nagpapaliit na reference na conversion |
|
Pagpapalawak ng conversion. |
|
Error sa runtime! Hindi ka makakapag-cast ng Integer reference sa isang String reference. |
|
Error sa runtime! Hindi ka makakapag-cast ng Integer reference sa isang Float reference. |
|
Conversion sa parehong uri. Isang nagpapaliit na conversion ng sanggunian. |
" Ang pagpapalawak o pagpapaliit ng reference na conversion ay hindi nagbabago sa bagay sa anumang paraan. Ang pagpapaliit (o pagpapalawak) na bahagi ay partikular na tumutukoy sa katotohanan na ang pagpapatakbo ng pagtatalaga ay kinabibilangan ng (hindi kasama) ang pagsuri ng uri ng variable at ang bagong halaga nito. "
"Ito ang bihirang halimbawa kung saan malinaw ang lahat."
"Upang maiwasan ang mga error sa mga halimbawang ito , mayroon kaming paraan upang malaman kung anong uri ang tinutukoy ng Object variable: "
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;
}
"Dapat mong isagawa ang pagsusuring ito bago ang bawat pagpapalawak ng conversion maliban kung 100% sigurado ka sa uri ng bagay."
"Nakuha ko."
GO TO FULL VERSION