मैं एक स्ट्रिंग है:toUpperCase काम नहीं करता है
String c = "IceCream";
अगर मैं तो toUpperCase()
फ़ंक्शन का उपयोग करें यह एक ही स्ट्रिंग देता है, लेकिन मैं "ICECREAM"
प्राप्त करना चाहते हैं।
समस्या कहां है?
मैं एक स्ट्रिंग है:toUpperCase काम नहीं करता है
String c = "IceCream";
अगर मैं तो toUpperCase()
फ़ंक्शन का उपयोग करें यह एक ही स्ट्रिंग देता है, लेकिन मैं "ICECREAM"
प्राप्त करना चाहते हैं।
समस्या कहां है?
कोड
String c = "IceCream";
String upper = c.toUpperCase();
System.out.println(upper);
सही ढंग से प्रिंट "मलाईबर्फ़"। हालांकि, मूल स्ट्रिंग सी नहीं बदला गया है। जावा में स्ट्रिंग्स immutable हैं इसलिए स्ट्रिंग पर सभी ऑपरेशन एक नई प्रतिलिपि लौटाते हैं।
आप चाहिए रहे हैं इस तरह इसका इस्तेमाल करने की:
String c = "IceCream";
String upper_c = c.toUpperCase();
एक विकल्प भी होगा 'स्ट्रिंग ग =" कुल्फ़ी ".toUpperCase();' –
वस्तु नहीं बदला जा सकता, क्योंकि String
अपरिवर्तनीय है। हालांकि, अगर आप एक नया उदाहरण है, जो सभी बड़े है के संदर्भ बिंदु हो सकता है:
String c = "IceCream";
c = c.toUpperCase();
यह आपके लोकेल के साथ एक समस्या हो सकती है। प्रयास करें:
String c = "IceCream";
return c.toUpperCase(Locale.ENGLISH);
आप मूल चर, c
, toUpperCase()
द्वारा बदल दिया गया है की उम्मीद कर रहे हैं? स्ट्रिंग्स अपरिवर्तनीय हैं; इस तरह के .toUpperCase()
वापसी नई तारों के रूप में तरीकों, छोड़ने के मूल अन-बार संशोधित:
String c = "IceCream";
String d = c.toUpperCase();
System.out.println(c); // prints IceCream
System.out.println(d); // prints ICECREAM
भी देखें http://stackoverflow.com/ प्रश्न/22397861/क्यों-है-स्ट्रिंग-अपरिवर्तनीय-इन-जावा – Raedwald