Sobes.tech
Junior

Mesélj a String osztályról a programozási nyelvben, amit ismersz.

sobes.tech MI

Válasz az MI-től

A Java kontextusában a String egy változatlan osztály, amely egy karakterlánc sorozatát képviseli. A String objektumokat például literálok vagy a new operátor segítségével hozzák létre.

Jellemzők:

  • Változatlanság: A String objektum létrehozása után tartalma nem módosítható. Bármilyen művelet, amely úgy tűnik, mintha módosítaná a sztringet (például összefűzés), valójában egy új sztringet hoz létre. Ez biztosítja a biztonságot szálak és hash-táblák használata esetén.
  • Sztring pool: A Java JVM egy speciális memória területet, úgynevezett sztring pool-t használ a sztring literálok számára. Ha ugyanazzal a tartalommal rendelkező sztring már létezik a pool-ban, a JVM egy hivatkozást használ arra a objektumra ahelyett, hogy újat hozna létre. Ez optimalizálja a memóriahasználatot.
  • A + operátor túlterhelése: A sztringekhez a + operátor a konkatenációra szolgál.
  • Sok hasznos metódus: A String osztály széleskörű metódusokat kínál a sztringek kezelésére: hossz (.length()), összehasonlítás (.equals(), .equalsIgnoreCase()), al-sztring keresés (.contains(), .indexOf()), al-sztring kivágás (.substring()), karakterek cseréje (.replace()), nagy- vagy kisbetűssé alakítás (.toUpperCase(), .toLowerCase()), szóközök eltávolítása (.trim()) és mások.

Példák:

Sztring létrehozása:

// Literál használatával - a sztring pool-ba kerül
String s1 = "Hello";

// new használatával - új objektum jön létre a pool-on kívül
String s2 = new String("World");

// Sztring összefűzés
String s3 = s1 + " " + s2;

Változatlanság példája:

String eredeti = "abc";
String módosított = eredeti.concat("def"); // Új sztring jön létre

// az eredeti továbbra is "abc"
System.out.println(eredeti); // Kimenet: abc
// a módosított - új sztring "abcdef"
System.out.println(módosított); // Kimenet: abcdef

Fontos metódusok:

String szöveg = "  Example String  ";

// Szöveg hossza
int hossz = szöveg.length(); // 18

// Szövegek összehasonlítása
boolean egyenlő = szöveg.equals("  Example String  "); // true

// Nagy- és kisbetűk figyelmen kívül hagyása
boolean egyenlőIgnoreCase = szöveg.equalsIgnoreCase("  example string  "); // true

// Szöveg keresése
boolean tartalmaz = szöveg.contains("String"); // true
int index = szöveg.indexOf("String"); // 10

// Szöveg kivágása
String rész = szöveg.substring(10, 16); // String

// Karakterek cseréje
String cserélt = szöveg.replace(" ", "-"); // --Example-String--

// Szóközök eltávolítása
String megtisztított = szöveg.trim(); // Example String

A String széles körben használt Java-ban a szöveges információk ábrázolására, és alapvető osztályként a sztringek feldolgozására.