16.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)

Download:
SubstringDemo. java

Der String text hat immer noch den gleichen Inhalt. Aus diesem String könne wir einen Teilstring herauskopieren: 

String teil = text.substring(3,7);

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

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.

 

equals()

Download:
EqualsDemo.java

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)

Download:
CompareToDemo. java

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 Funktionalität stellt uns die Methode compareTo(xxx) zur Verfügung. ein Beispiel soll uns das demonstrieren.

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()

Download:
ToUpperLowerCase Demo.java

Auch hier soll ein Beispiel zeigen, wie die Methoden toUpperCase() und toLowerCase() arbeiten. 

String text = "Java-ist-toll";
String textGross = text.toUpperCase();
String textKlein = text.toLowerCase();
System.out.println(textGross+" "+textKlein);

Ausgegeben wird hier: "JAVA-IST-TOLL java-ist-toll".

parseInt() der Klasse Integer

Download
ParseIntDemo.java

Diese Methode erlabt es einen String, den man als int-Zahl interpretieren kann in eine int-Zahl zu kopieren, mit denen man Rechenoperationen ausführen kann
public class ParseIntDemo {
  public static void main (String args[]) {
    String text1 = "123";
    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 16.3 Vergleiche in semantisch verschiedenen Umgebungen (für "Spezialisten")
zur Startseite www.pohlig.de  (C) MPohlig 2004