संदर्भ प्रकार रूपांतरणे - १

"आणि आता, डिएगोचा एक छोटा धडा. थोडक्यात आणि मुद्दा. संदर्भ प्रकार रूपांतरणांबद्दल."

"ऑब्जेक्ट व्हेरिएबल्सपासून सुरुवात करूया. तुम्ही अशा व्हेरिएबलला कोणताही संदर्भ प्रकार नियुक्त करू शकता ( रूपांतरण रुंद करणे ). तथापि, असाइनमेंट दुसर्‍या दिशेने करण्यासाठी ( संकुचित रूपांतरण ), तुम्ही स्पष्टपणे कास्ट ऑपरेशन सूचित केले पाहिजे:"

कोड वर्णन
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;
रनटाइम त्रुटी!
तुम्ही फ्लोट संदर्भासाठी पूर्णांक संदर्भ कास्ट करू शकत नाही.
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;
}
3
टास्क
Java Syntax,  पातळी 10धडा 6
लॉक केलेले
Code entry
Your attention, please! Now recruiting code entry personnel for CodeGym. So turn up your focus, let your fingers relax, read the code, and then... type it into the appropriate box. Code entry is far from a useless exercise, though it might seem so at first glance: it allows a beginner to get used to and remember syntax (modern IDEs seldom make this possible).

"तुम्हाला ऑब्जेक्टच्या प्रकाराबाबत 100% खात्री असल्याशिवाय प्रत्येक रुंदीकरणाच्या रूपांतरणापूर्वी तुम्ही ही तपासणी करावी."

"समजले."