2008-11-04 8 views
5

क्या आपके अपने वर्गों के लिए ऑटोबॉक्सिंग लागू करना संभव है?उपयोगकर्तालैंड autoboxing?

मेरी उदाहरण समझाने के लिए, यह है कि मैं क्या लिखने के लिए चाहते हो सकता है है:

Foo foo = "lolcat"; 

और यह जावा, (के रूप में अपने ही परिभाषाओं के अनुसार, कहीं, किसी भी तरह) क्या करेंगे हुड के नीचे है:

Foo foo = new Foo(); 
foo.setLolcat("lolcat"); 

तो, क्या यह किसी भी तरह से संभव है, या यह केवल एक JVM- सुविधा है?

उत्तर

12

नहीं, जावा ऑपरेटर अधिभार (http://en.wikipedia.org/wiki/Operator_overloading) का समर्थन नहीं करता है।

Autoboxing एक कंपाइलर सुविधा है और आपके स्वयं के वर्गों के लिए उपलब्ध नहीं है।

तर्क यहाँ समझाया गया है: http://www.cafeaulait.org/javafaq.html#xtocid1902938

+2

यह काफी सही नहीं है। जावा उपयोगकर्ता द्वारा जेनरेट किए गए ऑपरेटर ओवरलोडिंग का समर्थन नहीं करता है, यह इसके वर्गों में ऑपरेटर ओवरलोडिंग का समर्थन करता है जब ऐसा लगता है (STRINGS!) – MetroidFan2002

संबंधित मुद्दे