© 2004 Pohlig - Taulien Die Klasse String und ihre Methoden GK Informatik mit java 1 © 2004 Pohlig - Taulien Deklaration und Initialisierung OOP String name; name = “Java“; String name = “Java“; aber auch!! Klasse String Objekt mit dem Bezeichner name String name = new String(); name = “Java“; Erzeugungsoperator GK Informatik mit java Konstruktor 2 © 2004 Pohlig - Taulien Die wichtigsten Stringmethoden - Zusammenstellung name.charAt(i) Liefert ein Zeichen aus einem String-Objekt, name.substring(i,j) Liefert einen Teilstring aus einem StringObjekt, name.length() Liefert die Anzahl der gültigen Zeichen in einem String-Objekt, name.equals(xxx) Prüft ob der Inhalt des String-Objektes xxx ist, name.compareTo(xxx) Prüft, ob der Inhalt des String-Objektes lexikalisch vor oder nach xxx kommt. name.toUpperCase() Liefert einen String, in dem alle Zeichen von name als Grossbuchstaben vorliegen. name.toLowerCase() Liefert einen String, in dem alle Zeichen von name als Kleinbuchstaben vorliegen. Integer.parseInt(name) Enthält das String-Objekt Zeichen, die als int-Zahl interpretiert werden kann, so liefert diese Methode der Klasse Integer den intWert des ursprünglichen Strings. GK Informatik mit java 3 © 2004 Pohlig - Taulien Die Methode charAt(i) String text = “JAVA-IST-TOLL“; J A V A - I S T - T O L L 0 1 2 3 4 5 6 7 8 9 10 11 12 char zeichen = text.charAt(7); System.out.println(zeichen); Ausgabe: das Zeichen “T“ GK Informatik mit java 4 © 2004 Pohlig - Taulien Die Methode substring(i,j) Immer noch: text = “JAVA-IST-TOLL“; J A V A - I S T - T O L L 0 1 2 3 4 5 6 7 8 9 10 11 12 String teil = text.substring(3,7); Ausgabe: A-IS System.out.println(teil); GK Informatik mit java 5 © 2004 Pohlig - Taulien Die Methode length() Immer noch: text = “JAVA-IST-TOLL“; J A V A - I S T - T O L L 0 1 2 3 4 5 6 7 8 9 10 11 12 int laenge = text.length(); System.out.println(laenge); Ausgabe: 13 GK Informatik mit java 6 © 2004 Pohlig - Taulien Die Methode equals(xxx) Wertesemantik Referenzsemantik String text1 = “JAVA-IST-TOLL“; a==b Prüft=die“java-ist-toll“; Gleichheit der Prüft die Gleichheit der String text2 Werte von a und b Referenzen von a und b. public class Gleich{ Prüft nicht,ob die Objekte a und b inhaltlich gleich public static void main(String[] args){ boolean gleich = text1.equals(text2); sind. int a = 3; int b =Nicht 3; vorhanden a.equals(b) Prüft die inhaltliche Gleichheit von a und b boolean gleich = a.equals(b); Die System.out.println(gleich); Variable gleich hat den Wert false! } } //Error: int cannot be dereferenced GK Informatik mit java 7 © 2004 Pohlig - Taulien String - Referenz import info1.*; public class EqualsDemo { In den String-Objekten mit den text1 und text2 { public static voidBezeichnern main (String args[]) lediglich Adressen der String text1 =werden new String(); Speicherplätze abgelegt, an denen text1 = Console.in.readWord(); eigentliche Zeichenkette liegt. String text2 =dienew String(); String-Objekte sind Referenzen text2 = Console.in.readWord(); boolean gleich1 = text1==text2; System.out.println(gleich1); boolean gleich2 = text1.equals(text2); System.out.println(gleich2); } } GK Informatik mit java 8 © 2004 Pohlig - Taulien String – Referenz - Speicheroptimierung public class EqualsDemo2 { dass die beiden Der Compiler erkennt, Referenzen auf die gleiche Zeichenkette publiczeigen. static void main (String args[]) { String text1 = new String(); text1 = "Java"; Zwecks Optimierung des Speichers String text2 = new Adressen, String();die in text1 werden die beiden text2 = "Java"; und text2 abgelegt werden gleichgesetzt. boolean gleich1 = text1==text2; System.out.println(gleich1); Wertevergleich liefert wie der boolean gleich2 = true. text1.equals(text2); Referenzvergleich System.out.println(gleich2); } } GK Informatik mit java 9 © 2004 Pohlig - Taulien Die Methode compareTo(xxx) String name1 =“Manfred“; String name2 =“Valentina“; int i = name1.compareTo(name2); Der Inhalt von name1 kommt alphabetisch vor dem Inhalt von name2, i bekommt einen negativen Wert Man kann Sortieren. GK Informatik mit java 10 © 2004 Pohlig - Taulien Die Methoden toUpperCase() und toLowerCase() String text = “Java-ist-toll“; String textGross = text.toUpperCase(); String textKlein = text.toLowerCase(); System.out.println(textGross+" "+textKlein); Ausgabe: JAVA-IST-TOLL java-ist-toll GK Informatik mit java 11 © 2004 Pohlig - Taulien Die Integer-Methode parseInt(xxx) Wir sagen: Der Operator + ist überladen. text1 =wird “123“; SeineString Funktionalität damit kontextabhängig. String text2 = “456“; String text = text1+text2; Diese Pluszeichen Ausgabe: 123456 System.out.println(text); haben unterschiedliche Funktionalität. int zahl1 = Integer.parseInt(text1); int zahl2 = Integer.parseInt(text2); int zahl = zahl1 + zahl2; Ausgabe: 579 System.out.println(zahl); GK Informatik mit java 12