Junior
გთხოვთ, ისაუბრო პროგრამირების ენაში, რომელიც იცით, String კლასზე.
sobes.tech AI
პასუხი AI-სგან
Java კონტექსტში, String — ეს არის შეუცვლელი კლასი, რომელიც წარმოადგენს სიმბოლოთა სერიას. String ობიექტები შექმნილია, მაგალითად, ლიტერალების ან new ოპერატორის გამოყენებით:
მახასიათებლები:
- შეუცვლელობა (Immutability):
Stringობიექტის შექმნის შემდეგ, მისი შიგთავსი არ შეიძლება შეიცვალოს. ნებისმიერი ოპერაცია, რომელიც ჩანს როგორც ცვლილება (მაგალითად, კონკატენაცია), სინამდვილეში ქმნის ახალ სტრიქონს. ეს უზრუნველყოფს უსაფრთხოებას ნაკადებთან და ჰეშ-ტაბლებთან მუშაობისას. - სტრიქონების პული (String pool): Java JVM იყენებს სპეციალურ მეხსიერების ზონას — სტრიქონების პულს. თუ იგივე შიგთავსის სტრიქონი უკვე არსებობს პულში, JVM იყენებს მითითებას არსებულ ობიექტზე, ნაცვლად ახალი შექმნისა. ეს ოპტიმიზირებს მეხსიერების გამოყენებას.
+ოპერატორის გადატვირთვა:+ოპერატორი სტრიქონებისთვის გამოიყენება კონკატენაციისთვის.- მრავალი სასარგებლო მეთოდი:
Stringკლასი სთავაზობს მდიდარ მეთოდებს სტრიქონებთან მუშაობისთვის: სიგრძის მიღება (.length()), შედარება (.equals(),.equalsIgnoreCase()), ქვესათაურების ძიება (.contains(),.indexOf()), ქვესათაურის გამოტანა (.substring()), ჩანაცვლება (.replace()), დიდ/პატარა ასოების გადაყვანა (.toUpperCase(),.toLowerCase()), სივრცეების ამოღება (.trim()) და სხვა.
მაგალითები:
სტრიქონების შექმნა:
// ლიტერალების გამოყენებით — პულში ინახება
String s1 = "Hello";
// `new` გამოყენებით — ახალი ობიექტი იქმნება პულს გარეთ
String s2 = new String("World");
// სტრიქონების კონკატენაცია
String s3 = s1 + " " + s2;
შეუცვლელობის მაგალითი:
String original = "abc";
String modified = original.concat("def"); // ახალი სტრიქონი იქმნება
// original კვლავაც არის "abc"
System.out.println(original); // გამოტანა: abc
// modified - ახალი სტრიქონი "abcdef"
System.out.println(modified); // გამოტანა: abcdef
მნიშვნელოვანი მეთოდები:
String text = " Example String ";
// სტრიქონის სიგრძე
int length = text.length(); // 18
// სტრიქონების შედარება
boolean isEqual = text.equals(" Example String "); // true
// დიდი და პატარა ასოების გათვალისწინებით შედარება
boolean isEqualIgnoreCase = text.equalsIgnoreCase(" example string "); // true
// ქვესათაურის ძიება
boolean contains = text.contains("String"); // true
int index = text.indexOf("String"); // 10
// ქვესათაურის გამოტანა
String sub = text.substring(10, 16); // String
// ჩანაცვლება
String replaced = text.replace(" ", "-"); // --Example-String--
// სივრცეების ამოღება
String trimmed = text.trim(); // Example String
String ფართოდ გამოიყენება Java-ში — ტექსტური ინფორმაციის წარმოდგენისთვის და ძირითადი კლასი სტრიქონების დამუშავებისთვის.