2012-08-25 8 views
11

संभव डुप्लिकेट:
String's Maximum length in Java - calling length() methodजावा प्रोग्राम में स्ट्रिंग आकार के लिए कोई सीमा है?

मैं एक स्ट्रिंग के रूप

स्ट्रिंग xx

परिभाषित किया है वहाँ वर्णों की संख्या है कि मैं प्रदान कर सकते हैं के लिए किसी भी सीमा होती है?

2) मैं इस स्ट्रिंग xx में उपयोगकर्ता इनपुट असाइन कर रहा हूं। 70% बार लोग केवल एक शब्द देते हैं। कुछ बार वे एक बड़ी वाक्य देते हैं तो जानना चाहते हैं कि ठीक है? या क्या कोई बेहतर जावा अभ्यास है?

+1

@anio Ha, मुझे हराया! – MadProgrammer

+1

क्या आपने पोस्ट करने से पहले Google को संक्षेप में भी किया था? 'जावा स्ट्रिंग लम्बाई सीमा' के लिए दूसरी हिट ऊपर सूचीबद्ध डुप्लिकेट थी। –

+0

यदि आपको पूछना है, तो आप पहले ही गलत काम कर रहे हैं। स्ट्रिंग्स को कंटेनर के रूप में नहीं माना जाना चाहिए। – EJP

उत्तर

35

एक आम प्रश्न जिसे आप खोज सकते थे लेकिन मैं इसे फिर से जवाब देने जा रहा हूं।

क्या अक्षरों की संख्या के लिए कोई सीमा है जो मैं असाइन कर सकता हूं?

इसकी Integer.MAX_VALUE या 2^31-1 या लगभग 2 बिलियन। इस आकार में आने से पहले आपको स्मृति समस्याएं होने की अधिक संभावना है। जैसे स्ट्रिंग के लिए आपको 4 जीबी और 4 जीबी की आवश्यकता है।

मैं इस स्ट्रिंग xx में उपयोगकर्ता इनपुट असाइन कर रहा हूं। 70% बार लोग केवल एक शब्द देते हैं। कुछ बार वे एक बड़ी वाक्य देते हैं तो जानना चाहते हैं कि ठीक है?

मुझे संदेह है कि जे के रोलिंग के सभी काम एक स्ट्रिंग में फिट होंगे।

या क्या कोई बेहतर जावा प्रथा है?

मेरा सुझाव है कि आप चीजों को यथासंभव सरल रखें। स्ट्रिंग संदर्भ को असाइन करना उतना आसान है जितना इसे मिलता है।

+0

ध्यान रखें कि यदि ढेर आकार, 'char' (जो 2 है) के आकार से विभाजित है, तो' Integer.MAX_VALUE' से छोटा है, जो इसके बजाय ऊपरी बाउंड होगा। – Eric

+0

@Eric तो "एक वाक्य से कहीं अधिक" .. ;-) –

+0

@ एरिक ट्रू, जैसा कि मैंने बताया है कि आपको तारों में हर चार के लिए 4 बाइट की आवश्यकता है। (स्ट्रिंग के लिए 2 बाइट और इसे बनाने के लिए 2 बाइट्स) –

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