குறிப்பு வகை மாற்றங்கள் - 1

"இப்போது, ​​டியாகோவிடமிருந்து ஒரு சிறிய பாடம். சுருக்கமான மற்றும் புள்ளி. குறிப்பு வகை மாற்றங்களைப் பற்றி."

"ஆப்ஜெக்ட் மாறிகளுடன் ஆரம்பிக்கலாம். அத்தகைய மாறிக்கு ( அகலப்படுத்தும் மாற்றம் ) எந்த குறிப்பு வகையையும் நீங்கள் ஒதுக்கலாம். இருப்பினும், மற்ற திசையில் பணியை செய்ய ( குறுகிய மாற்றம் ), நீங்கள் வெளிப்படையாக ஒரு வார்ப்பு செயல்பாட்டைக் குறிப்பிட வேண்டும்:"

குறியீடு விளக்கம்
String s = "mom";
Object o = s; // o stores a String
ஒரு பொதுவான விரிவுபடுத்தும் குறிப்பு மாற்றம்
Object o = "mom"; // o stores a String
String s2 = (String) o;
ஒரு பொதுவான குறுகலான குறிப்பு மாற்றம்
Integer i = 123; // o stores an Integer
Object o = i;
விரிவாக்கம் மாற்றம்.
Object o = 123; // o stores an Integer
String s2 = (String) o;
இயக்க பிழை!
நீங்கள் ஒரு முழு எண் குறிப்பை ஒரு சரம் குறிப்புக்கு அனுப்ப முடியாது.
Object o = 123; // o stores an Integer
Float s2 = (Float) o;
இயக்க பிழை!
Float குறிப்புக்கு நீங்கள் முழு எண் குறிப்பை அனுப்ப முடியாது.
Object o = 123f; // o stores a Float
Float s2 = (Float) o;
அதே வகைக்கு மாற்றம். ஒரு குறுகலான குறிப்பு மாற்றம்.

" ஒரு விரிவுபடுத்தும் அல்லது குறுகலான குறிப்பு மாற்றமானது பொருளை எந்த வகையிலும் மாற்றாது. குறுகுதல் (அல்லது விரிவுபடுத்துதல்) பகுதி குறிப்பாக ஒதுக்குதல் செயல்பாட்டில் மாறியின் வகை-சரிபார்ப்பு மற்றும் அதன் புதிய மதிப்பை உள்ளடக்கியது (அடங்காது) என்பதைக் குறிக்கிறது. "

"எல்லாம் தெளிவாக இருக்கும் அரிய உதாரணம் இது."

" இந்த எடுத்துக்காட்டுகளில் உள்ள பிழைகளைத் தவிர்க்க ,  பொருள் மாறி எந்த வகையைக் குறிப்பிடுகிறது என்பதைக் கண்டறிய எங்களிடம் ஒரு வழி உள்ளது: "

குறியீடு
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;
}

"நீங்கள் பொருளின் வகையை 100% உறுதியாக நம்பாத வரை, ஒவ்வொரு விரிவாக்க மாற்றத்திற்கும் முன்பு இந்தச் சரிபார்ப்பைச் செய்ய வேண்டும்."

"அறிந்துகொண்டேன்."