एक साधारण डिजाइन सवाल।क्यों BinaryString इंटीजर क्लास में एक उदाहरण विधि नहीं है?
नमूना कोड:
Integer int1 = new Integer(20);
System.out.println(Integer.toBinaryString(int1));
क्यों JDK डिजाइन निम्नलिखित की तरह कुछ नहीं है? तो, toBinaryString फ़ंक्शन वांछित परिणाम देता है?
System.out.println(int1.toBinaryString());
एक स्थिर समारोह की व्यापक उपयोगिता के लिए एक तरफ, इस डिजाइन दृष्टिकोण के लिए अन्य कारणों क्या हैं? क्या वे किसी विशेष डिजाइन पैटर्न का उपयोग कर रहे हैं? यदि यह तो है, तो कौन सा पैटर्न?
* स्पष्ट रूप से * वस्तुओं को अनावश्यक रूप से बनाने से बचने के लिए, नहीं? Autoboxing किसी भी मामले में अनिवार्य रूप से समान बाइटकोड बनाने समाप्त हो जाएगा।(अब, हॉटस्पॉट ऑब्जेक्ट सृजन को पूरी तरह से बढ़ा सकता है, लेकिन फिर से यह दोनों मामलों पर समान रूप से लागू होगा)। या क्या मैं कुछ न कुछ भूल रहा हूं? –
@ जोन-स्कीट बस कहता है कि 'int' प्रकार मौजूद नहीं है। तो इस डिजाइन पैटर्न के पीछे क्या कारण होगा? –
एंड्रज: नहीं, कोई ऑटोबॉक्सिंग नहीं होगी, क्योंकि पैरामीटर टाइप 'int',' इंटीजर 'नहीं है। –