के लिए अधिकतम आकार StringBuffer
के आकार पर इसकी सीमा क्यों होगी?स्ट्रिंगबफर
मैं कुछ लिंक से गुज़र गया: http://www.coderanch.com/t/540346/java/java/maximum-size-hold-String-buffer।
क्या यह गणना सदस्य चर के कारण है, जो एक int है?
मान लीजिए कि हमारे पास StringBuffer
में 2^31-1 वर्ण हैं और हम StringBuffer
पर कुछ और वर्ण जोड़ते हैं। गिनती सदस्य चर को वर्णित वर्णों की संख्या से बढ़ाया जाएगा और यदि गणना चर पहले से ही अधिकतम (2^31-1) पर है, तो यह वापस कुछ नकारात्मक मान पर वापस आ जाएगा।
यह एक त्रुटि क्यों फेंक देगा?
एक StringBuffer का उपयोग न करें जब आप एक StringBuilder (यह एक ही सीमा होती है, हालांकि) –
एक 2 का उपयोग कर सकते^32-1 स्ट्रिंगबिल्डर 4 जीबी लेगा। क्या आप इतनी लंबी स्ट्रिंग बनाना चाहते हैं? –