Sobes.tech
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-ში — ტექსტური ინფორმაციის წარმოდგენისთვის და ძირითადი კლასი სტრიქონების დამუშავებისთვის.