जावा में, बिगइन्टर अपरिवर्तनीय है लेकिन मैं समझना चाहता हूं कि क्यों कई बार इसका उपयोग बहुत सारी गणना करने के लिए किया जाता है जो बहुत सारी वस्तुओं का उत्पादन कर सकता है। इसलिए, यह अपरिवर्तनीय बनाने के लिए सहज महसूस करता है। मेरे दिमाग में आने वाली स्थिति स्ट्रिंग ऑपरेशंस की तरह कुछ है और फिर स्ट्रिंगबिल्डर का विकल्प है। क्या BigInteger का अपरिवर्तनीय समकक्ष होना चाहिए? मुझे लगता है कि यह कई स्थितियों में फायदेमंद हो सकता है।जावा में बिगइंटर क्यों अपरिवर्तनीय होने के लिए डिज़ाइन किया गया है?
संपादित करें: मुझे अपर्याप्तता के लाभ और कई मामलों में यह कैसे फायदेमंद है। मैं बस w.r.t BigInteger के लाभों को समझना चाहता था। मैंने बड़ी संख्या के फैक्टोरियल की गणना करने के लिए बिगइंटर का उपयोग किया है। तो, मैं एक परिवर्तनीय BigInteger पसंद किया होगा। इसी तरह, BigInteger का उपयोग गणनाओं के लिए किया जाएगा जहां परिणाम int से बहुत बड़ा है। अन्य मामलों के लिए BigDecimal है।
आप 'बिटसेट' को एक (सॉर्ट-ऑफ) म्यूटेबल 'बिगइंटर' के रूप में उपयोग कर सकते हैं। –
अल्पकालिक वस्तुओं सस्ते हैं, और अपरिवर्तनीय वस्तुओं के बहुत सारे फायदे हैं। – chrylis
* "मुझे लगता है कि यह कई स्थितियों में फायदेमंद हो सकता है।" * ... कुछ वास्तव में सुपर-प्रदर्शन महत्वपूर्ण परिस्थितियों के लिए यह महत्वपूर्ण हो सकता है, लेकिन संभवतः आप जितनी परिस्थितियों में अनुमान लगा रहे हैं उतनी परिस्थितियों में नहीं। लेकिन, यदि आपके पास वास्तव में कोड का एक प्रोफाइलिंग-सिद्ध प्रदर्शन-महत्वपूर्ण ब्लॉक है, तो एक परिवर्तनीय साथी वर्ग उत्तर हो सकता है। – scottb