Sobes.tech
Junior

Vorbește despre clasa String în limbajul de programare pe care îl cunoști.

sobes.tech AI

Răspuns de la AI

În contextul Java, String este o clasă imutabilă care reprezintă o secvență de caractere. Obiectele String sunt create, de exemplu, folosind literali sau operatorul new.

Caracteristici:

  • Imutabilitate: După crearea unui obiect String, conținutul său nu poate fi modificat. Orice operație care pare să modifice șirul (de exemplu, concatenarea) creează de fapt un șir nou. Acest lucru asigură siguranța în lucrul cu fire și tabele hash.
  • Pool de șiruri: Pentru literalii de șiruri, JVM Java folosește o zonă specială de memorie numită pool de șiruri. Dacă un șir cu același conținut există deja în pool, JVM folosește o referință la acel obiect în loc să creeze unul nou. Acest lucru optimizează utilizarea memoriei.
  • Suprasarcină a operatorului +: Operatorul + pentru șiruri este folosit pentru concatenare.
  • Multe metode utile: Clasa String oferă o gamă largă de metode pentru lucrul cu șiruri: obținerea lungimii (.length()), compararea (.equals(), .equalsIgnoreCase()), căutarea subșirurilor (.contains(), .indexOf()), extragerea subșirurilor (.substring()), înlocuirea caracterelor (.replace()), conversia în majuscule/minuscule (.toUpperCase(), .toLowerCase()), eliminarea spațiilor (.trim()) și altele.

Exemple:

Crearea de șiruri:

// Creare folosind literal - plasat în pool-ul de șiruri
String s1 = "Hello";

// Creare folosind new - se creează un nou obiect în afara pool-ului
String s2 = new String("World");

// Concatenarea șirurilor
String s3 = s1 + " " + s2;

Exemplu de imutabilitate:

String original = "abc";
String modificat = original.concat("def"); // Se creează un șir nou

// original rămâne "abc"
System.out.println(original); // Afișează: abc
// modificat - șir nou "abcdef"
System.out.println(modificat); // Afișează: abcdef

Metode importante:

String text = "  Example String  ";

// Lungimea șirului
int lungime = text.length(); // 18

// Compararea șirurilor
boolean esteEgal = text.equals("  Example String  "); // true

// Comparare fără a ține cont de majuscule/minuscule
boolean esteEgalIgnoreCase = text.equalsIgnoreCase("  example string  "); // true

// Căutare subșir
boolean contine = text.contains("String"); // true
int index = text.indexOf("String"); // 10

// Extrage subșir
String sub = text.substring(10, 16); // String

// Înlocuire caractere
String inlocuit = text.replace(" ", "-"); // --Example-String--

// Eliminare spații
String trimis = text.trim(); // Example String

String este utilizat pe scară largă în Java pentru reprezentarea informațiilor textuale și este o clasă fundamentală pentru procesarea șirurilor.