Sobes.tech
Junior

дар бораи синфи String дар забони барномасозии, ки медонӣ, нақл кун.

sobes.tech AI

Ҷавоб аз AI

Дар контексти Java, String — ин навъи тағйирнопазир аст, ки маҷмӯи аломатҳоро намояндагӣ мекунад. Объектҳои String бо истифода аз литеролҳо ё оператори new эҷод мешаванд.

Хусусиятҳо:

  • Намояндагӣ (Immutability): Пас аз эҷоди объект String, мундариҷаи он тағйирнопазир аст. Ҳар гуна амалҳое, ки ба назар мерасанд, ки тағйир додани сатр (масалан, конкатенатсия), дар асл сатр нав эҷод мекунанд. Ин бехатариро ҳангоми кор бо ҷараёнҳо ва хештаблиҳо таъмин мекунад.
  • Пул сатрҳо (String pool): Барои литеролҳои сатр, JVM-и Java минтақаи махсуси хотираро истифода мебарад — пул сатрҳо. Агар сатр бо мундариҷаи якхела аллакай дар пул мавҷуд бошад, 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 барои намояндагӣ кардани маълумоти матнӣ ва ҳамчун синфи асосӣ барои кор бо сатрҳо истифода мешавад.