Sobes.tech
Junior

Räägi mulle programmeerimiskeeles String klassist, mida sa tead.

sobes.tech AI

Vastus AI-lt

Java kontekstis on String muutumatu klass, mis esindab tähemärkide jada. String objektid luuakse näiteks literaalide või new operaatori abil:

Omadused:

  • Muutumatus (Immutability): Pärast String objekti loomist ei saa selle sisu muuta. Kõik operatsioonid, mis näivad nagu muutmine (näiteks ühendamine), loovad tegelikult uue stringi. See tagab turvalisuse voogude ja hash-tabelite töötamisel.
  • Stringi bassein (String pool): Java JVM kasutab spetsiaalset mäluala — stringi basseini. Kui stringi sama sisu juba eksisteerib basseinis, kasutab JVM viidet olemasolevale objektile, mitte ei loo uut.
  • + operaatori ülekoormus: + operaatorit kasutatakse stringide ühendamiseks.
  • Palju kasulikke meetodeid: String klass pakub rikkalikku meetodite kogumit stringidega töötamiseks: pikkuse saamine (.length()), võrdlemine (.equals(), .equalsIgnoreCase()), alamstringide otsimine (.contains(), .indexOf()), alamstringi saamine (.substring()), asendamine (.replace()), suur- ja väiketähtede muutmine (.toUpperCase(), .toLowerCase()), tühikute eemaldamine (.trim()) ja palju muud.

Näited:

Stringide loomine:

// Literaalide kasutamine — pannakse basseini
String s1 = "Hello";

// `new` kasutamine — luuakse uus objekt väljaspool basseini
String s2 = new String("World");

// Stringide ühendamine
String s3 = s1 + " " + s2;

Muutumatu näide:

String original = "abc";
String modified = original.concat("def"); // Luues uue stringi

// original jääb endiselt "abc"
System.out.println(original); // Väljund: abc
// modified - uus string "abcdef"
System.out.println(modified); // Väljund: abcdef

Olulised meetodid:

String text = "  Example String  ";

// Stringi pikkus
int length = text.length(); // 18

// Stringide võrdlemine
boolean isEqual = text.equals("  Example String  "); // true

// Võrdlemine, ignoreerides suur- ja väiketähti
boolean isEqualIgnoreCase = text.equalsIgnoreCase("  example string  "); // true

// Alamstringi otsimine
boolean contains = text.contains("String"); // true
int index = text.indexOf("String"); // 10

// Alamstringi saamine
String sub = text.substring(10, 16); // String

// Asendamine
String replaced = text.replace(" ", "-"); // --Example-String--

// Tühikute eemaldamine
String trimmed = text.trim(); // Example String

String on laialdaselt kasutusel Java-s — teksti esitamiseks ning põhiklass stringide töötlemiseks.