पहले मामले में, आपके पास एक व्यापक रूपांतरण हो रहा है। यह तब देखा जा सकता है जब संकलित वर्ग पर "जावप" उपयोगिता प्रोग्राम (डब्ल्यू / जेडीके शामिल था) को चलाएं:
public static void main(java.lang.String[]);
Code:
0: iconst_ 5
1: istore_ 1
2: iload_ 1
3: i2l
4: invokestatic #6; //Method hello:(J)V
7: return
}
जाहिर है, आप I2L देखते हैं, जो व्यापक इंटीजर-टू-लांग बाइटकोड निर्देश के लिए स्मारक है। संदर्भ यहां देखें।
और दूसरे मामले में, "लांग एक्स" ऑब्जेक्ट के साथ "लांग एक्स" को प्रतिस्थापित करने के बाद, आपके पास यह विधि मुख्य विधि में होगी:
public static void main(java.lang.String[]);
Code:
0: iconst_ 5
1: istore_ 1
2: iload_ 1
3: invokestatic #6; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
6: invokestatic #7; //Method hello:(Ljava/lang/Integer;)V
9: return
}
तो आप देखते हैं कि कंपाइलर ने रैपर के अंदर आदिम को बॉक्स करने के लिए निर्देश Integer.valueOf (int) बनाया है।