1. वर्गाची Stringरचना

आज आपण वर्गाबद्दल बोलू String. ints नंतर, स्ट्रिंग क्लास हा जावामधील सर्वात लोकप्रिय वर्ग आहे. हे पूर्णपणे सर्वत्र वापरले जाते. यात अनेक उपयुक्त पद्धती आहेत ज्या तुम्हाला जाणून घेणे अधिक चांगले आहे.

वर्ग Stringहा आदिम प्रकारांव्यतिरिक्त एकमेव वर्ग आहे ज्याची अक्षरे विधानात वापरली जाऊ शकतात switch; कंपाइलर स्ट्रिंग अॅडिशन आणि स्ट्रिंग ऑब्जेक्ट्स एका खास पद्धतीने हाताळतो; Stringवस्तू एका खास पद्धतीने मेमरीमध्ये साठवल्या जातात. मुळात Stringवर्ग हा एक अतिशय खास वर्ग आहे.

तसेच, Stringक्लासमध्ये हेल्पर क्लासेसचा एक समूह आहे ज्याचा उद्देश Java मध्ये स्ट्रिंगसह काम करणे अधिक सोपे करणे आहे. जेव्हा तुम्ही हे सर्व शिकता तेव्हा तुमच्यासाठी बर्‍याच गोष्टी करणे खरोखर सोपे होईल. बरं, आम्ही या इकोसिस्टमच्या अगदी गाभ्यापासून सुरुवात करू - वर्गाची संघटना String.

वर्णांची अॅरे

वर्गाची रचना Stringप्रत्यक्षात अगदी सोपी आहे: त्याच्या आत एक अक्षर अॅरे (char array) आहे जो स्ट्रिंगचे सर्व वर्ण संग्रहित करतो. उदाहरणार्थ, 'हॅलो' हा शब्द अशा प्रकारे संग्रहित केला जातो:

स्ट्रिंग वर्गाची रचना
महत्वाचे!

खरं तर, हे अगदी अचूक नाही. वर्ग अतिशय महत्त्वाचा असल्यामुळे String, तो भरपूर ऑप्टिमायझेशन वापरतो आणि डेटा आंतरिकरित्या कॅरेक्टर अॅरे म्हणून नाही तर फक्त बाइट अॅरे म्हणून संग्रहित केला जातो.


String2. वर्गाच्या पद्धती

वर्गात Stringबर्‍याच पद्धती आहेत: त्यात एकट्या 18 कन्स्ट्रक्टर आहेत! तर खाली आम्ही त्यापैकी फक्त सर्वात मूलभूत उल्लेख करतो:

पद्धती वर्णन
int length()
स्ट्रिंगमधील वर्णांची संख्या मिळवते
boolean isEmpty()
स्ट्रिंग रिक्त स्ट्रिंग आहे का ते तपासते
boolean isBlank()
स्ट्रिंगमध्ये फक्त व्हाइटस्पेस वर्ण आहेत हे तपासते: स्पेस, टॅब, नवीन ओळ इ.
char charAt(int index)
स्ट्रिंगमधील अनुक्रमणिका स्थानावर वर्ण मिळवते.
char[] toCharArray()
स्ट्रिंग बनवणाऱ्या वर्णांचा अॅरे (एक प्रत) मिळवते
byte[] getBytes()
स्ट्रिंगला बाइट्सच्या सेटमध्ये रूपांतरित करते आणि बाइट्सचा अॅरे मिळवते.
String[] split(String regex)
स्ट्रिंगला एकाधिक सबस्ट्रिंगमध्ये विभाजित करते.
String join(CharSequence delimiter, elements)
एकाधिक सबस्ट्रिंग एकत्र जोडते
String intern()
मध्ये एक स्ट्रिंग ठेवते string pool.

जावा कन्स्ट्रक्टर या लेखात तुम्ही कन्स्ट्रक्टरबद्दल अधिक जाणून घेऊ शकता .

चला एक प्रोग्राम लिहू जो फाईल पाथला युनिक्स स्टाईलमधून विंडोज स्टाइलमध्ये रूपांतरित करतो. युनिक्स /फोल्डर वेगळे करण्यासाठी कॅरेक्टर वापरते, तर विंडोज \कॅरेक्टर वापरते.

उपाय 1: चार अॅरे वापरणे

कोड नोट्स
Scanner console = new Scanner(System.in);
String path = console.nextLine();

char[] chars = path.toCharArray();
for (int i = 0; i < chars.length; i++)
   if (chars[i] == '/')
      chars[i] = '\\';

String result = new String(chars);
System.out.println(result);
स्कॅनर ऑब्जेक्ट तयार करा
कन्सोलमधून एक ओळ वाचा

स्ट्रिंगला कॅरेक्टर अॅरेमध्ये रूपांतरित करा
अक्षरांवर लूप करा
वर्ण असल्यास /,
त्यास बदला \. पळून जाण्याबद्दल विसरू नका.

वर्ण अॅरेवर आधारित नवीन स्ट्रिंग तयार करा.
स्ट्रिंग प्रदर्शित करा.

उपाय 2:split() - आणि join()पद्धती वापरणे

कोड नोट्स
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String[] array = path.split("/");


String result = String.join("\\", array);


System.out.println(result);
स्कॅनर ऑब्जेक्ट तयार करा
कन्सोलमधून एक ओळ वाचा स्ट्रिंगला स्ट्रिंगच्या अॅरेमध्ये

रूपांतरित करा . वर्ण विभाजक म्हणून वापरला जातो (अतिरिक्त दोन स्लॅश हे दुहेरी सुटण्याचा परिणाम आहेत). स्ट्रिंगच्या अॅरेमधील सर्व स्ट्रिंग्स एकत्र करा . विभाजक म्हणून वापरला जातो (आम्ही ते निसटलेले पाहतो) . स्ट्रिंग प्रदर्शित करा. /
\

उपाय 3: - replace(char oldChar, char newChar)पद्धत वापरून

कोड नोट्स
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String result = path.replace('/', '\\');

System.out.println(result);
एक स्कॅनर ऑब्जेक्ट तयार करा
कन्सोलमधून एक ओळ वाचा

फक्त एक वर्ण दुसर्याने बदला
(दुसरा एस्केप केलेला आहे)
स्ट्रिंग प्रदर्शित करा.