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
Stringobjektum 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
Stringosztá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.