"Hej, Amigo!"

"Men, Bilaabo, du har allerede sagt hej."

"Virkelig? Nå, jeg kan stadig godt lide at starte hver lektion med den sætning."

"I dag skal vi studere String-klassen i dybden."

"Men jeg ved allerede alt om det. Jeg ved endda, at String-klassen er uforanderlig."

"String-klassen har 46 metoder. Hvor mange af dem kender du?"

"Ikke mere end ti. Faktisk nok omkring 5 max."

"Så hør efter."

"Javas skabere bemærkede, at de fleste strenge i programmer ikke er beregnet til at blive ændret, men nogle gange bliver de alligevel ændret. Det er meget irriterende, når du opretter en streng, gemmer noget vigtigt i den, sender det til en andens metode, og det bliver ændret. For at forhindre dette i at ske, besluttede de at skabe både foranderlige og uforanderlige strenge."

"String-klassen er til uforanderlige strenge, og StringBuilder- klassen er til foranderlige. Objekter i disse klasser konverteres nemt til den anden type. I de fleste tilfælde har Java-udviklere simpelthen brug for String, hvilket beviser, at Javas skabere havde ret."

"Så hvis jeg har brug for en String, bruger jeg String-klassen. Og hvis jeg har brug for en foranderlig String, så bruger jeg StringBuilder- klassen ?"

"Ja. Faktisk er der en anden klasse kaldet StringBuffer. Det er en kopi af StringBuilder, bortset fra at alle dens metoder er erklæret som synkroniserede , så objektet kan tilgås fra forskellige tråde i programmet."

"Og hvad med dette eksempel? Bliver strengen ikke skiftet her?"

String s = "cat";
s = s + "-" + s;

"Nej. Der er to String-objekter her: «cat» og «cat-cat». Det andet er oprettet ved hjælp af det første, men det første objekt ændrer sig ikke. I virkeligheden er tingene langt mere interessante her. Her er koden compileren genererer, når den kompilerer dit eksempel:"

String s = "cat";
StrinsBuilder s2 = new StringBuilder(s);
s2.append("-");
s2.append(s);
s = s2.toString();

"Så StringBuilder bruges næsten altid til at skabe nye Strings, men nogle gange klarer compileren simpelthen alt arbejdet for dig. Men din version er enklere, synes du ikke?"

"Ja, det er fantastisk, at Java har en så avanceret compiler."

"Nå, lad os nu gå igennem String-klassens metoder:"

1) Hvordan finder jeg en strengs længde?

" Længdemetoden returnerer en strengs længde (antallet af tegn i den)."

Metoder) Eksempel(r)
int length();
String s = "Good news, everyone!";
int n = s.length();
int n = "Good news, everyone!".length();

2) Hvordan får jeg en karakter fra en streng?

" CharAt- metoden returnerer et tegn fra en streng ved dets indeks. Tegnindeksene starter ved 0.

Metoder) Eksempel(r)
char charAt(int index)
String s = "Good news, everyone!";
char n = s.charAt(5);
char n = "Good news, everyone!".charAt(5);

3) Hvordan får jeg karakterer fra en streng?

Hvordan får jeg karakterer fra en streng?

Metoder) Eksempel(r)
char[]toCharArray ()
String s = "Good news, everyone!";
for(char c: s.toCharArray())
{
System.out.println(c);
}

4) Hvordan sammenligner jeg strenge?

"Equals-metoden kontrollerer, om strengene matcher, og equalsIgnoreCase -metoden kontrollerer, om strengene matcher, når store og små bogstaver ignoreres.

Metoder) Metoder)
boolean equals(Object o)
String s = "cat";
boolean test1 = s.equals("cat");//true
boolean test2 = s.equals("Cat");//false
boolean test3 = s.equals("c"+"a"+"t");//true
boolean equalsIgnoreCase(String str)
String s = "cat";
boolean test1 = s.equalsIgnoreCase("cat");//true
boolean test2 = s.equalsIgnoreCase("Cat");//true
boolean test3 = s.equalsIgnoreCase("cAT");//true

5) Hvordan laver jeg alle bogstaverne i en streng med store eller små bogstaver?

" ToUpperCase- metoden returnerer en kopi af strengen med alle store bogstaver."

" ToLowerCase- metoden returnerer en kopi af strengen med alle små bogstaver."

Metoder) Eksempel(r)
String toUpperCase()
String s = " Good news, everyone!  ";
s = s.toUpperCase();

Resultat:

s == "GOOD NEWS, EVERYONE!";
String toLowerCase()
String s = "Good news, everyone!";
s = s.toLowerCase();

Resultat:

s == "good news, everyone!";

6) Hvordan fjerner jeg mellemrum i begyndelsen og slutningen af ​​en streng?

"Trimmetoden returnerer en kopi af en streng uden mellemrumstegn i begyndelsen og slutningen."

Metoder) Eksempel(r)
String trim()
String s = "   Good news, everyone!   ";
s = s.trim();

Resultat:

s == "Good news, everyone!";