18.2 String-Methoden charAt() Download: CharAtDemo.java Um die Funktionalität der Methode charAt() zu demonstrieren geben wir uns einen String vor: String text = "JAVA-IST-TOLL"; Die Zeichen dieses Strings können wir uns in einer Art Reihung angeordnet vorstellen: J A V A - I S T - T O L L 0 1 2 3 4 5 6 7 8 9 10 11 12 Am Platz mit der Platznummer 7 befindet sich das Zeichen 'T'. Mit der Methode charAt() angewandt auf das Objekt name kann auf dieses Zeichen zugreifen: char zeichen = text.charAt(7); zeichen hat dann den Wert 'T'. substring(i,j) Der String text hat immer noch den gleichen Inhalt. Aus diesem String könne wir einen Teilstring herauskopieren: Download: SubstringDemo. String teil = text.substring(3,7); java kopiert den Teilstring "A-IS" in den String teil. J A V A - I S T - T O L L 0 1 2 3 4 5 6 7 8 9 10 11 12 Wir erkennen, dass der erste Parameter der Methode substring(3,7) den Platz markiert, ab dem kopiert und der zweite Parameter den Platz markiert, ab dem nicht mehr kopiert werden soll. length() Download: LengthDemo.java equals() Download: EqualsDemo.java Die Methode length() angewandt auf einen String, bestimmt die Anzahl der belegten Plätze in diesem String. Hat text immer noch den gleichen Inhalt, also "JAVA-IST-TOLL", so liefert unsere Methode den int-Wert 13. Wir haben schon gelernt, dass der Vergleichsoperator "==" die Werte zweier Variablen vergleicht. Da es sich, wie schon angedeutet, bei Strings um Referenzen handelt, müssen wir vorsichtig sein. In diesen Fällen, wollen wir also prüfen, ob die Inhalte zweier Referenzen gleich sind, benötigen wir dei Methode equals(xxx). Die Problematik wird allerdings erst richtig klar, wenn wir uns eingehender mit OOP beschäftigen. Um die Wirkungsweise von equals() zudemonstrieren, betrachten wir die folgende Programmsequenz: String text1 = "JAVA-IST-TOLL"; String text2 = "java-ist-toll; boolean gleich = text1.equals(text2); Die Variable gleich hat nach der letzten Zeile den Wert false. compareTo(xxx) Um z.B. Namen in einer Liste alphabetisch sortieren zu können, benötigt man eine Methode, die es erlaubt festzustellen, welcher von zwei Strings lexikgrafisch zu erst kommt. Diese Download: Funktionalität stellt uns die Methode compareTo(xxx) zur Verfügung. ein Beispiel soll uns CompareToDemo. das demonstrieren. java String name1 ="Manfred"; String name2 ="Valentina"; In int i = name1.compareTo(name2); bekommt i einen negativen Wert, das man so interpretieren kann, dass der Inhalt von name1 lexikgrafisch vor dem Inhalt von name2 kommt. toUpperCase() toLowerCase() Auch hier soll ein Beispiel zeigen, wie die Methoden toUpperCase() und toLowerCase() arbeiten. Download: String text = "Java-ist-toll"; ToUpperLowerCase String textGross = text.toUpperCase(); String textKlein = text.toLowerCase(); Demo.java System.out.println(textGross+" "+textKlein); Ausgegeben wird hier: "JAVA-IST-TOLL java-ist-toll". parseInt() der Diese Methode erlabt es einen String, den man als int-Zahl interpretieren kann in eine Klasse Integer int-Zahl zu kopieren, mit denen man Rechenoperationen ausführen kann public class ParseIntDemo { public static void main (String args[]) { Download String text1 = "123"; ParseIntDemo.java String text2 = "456"; String text = text1+text2; int zahl1 = Integer.parseInt(text1); int zahl2 = Integer.parseInt(text2); int zahl = zahl1+zahl2; System.out.println("Text: "+text); System.out.println("Zahl: "+zahl); } } Als Ausgabe bekommt man Text: 123456 und Zahl: 579. zu 18.3 Vergleiche in verschiedenen Umgebungen (für "Spezialisten") zur Startseite www.pohlig.de (C) MPohlig 2003