Vergleichen von Objekten


Wie vergleiche ich zwei Zeichenketten?

    /* Beim Vergleich von Zeichenketten muss beachtet werden, dass der
       Javatyp String ein Objekt ist. Daher müssen Sie unterscheiden,
       was Sie vergleichen wollen.
       1. Ob zwei Variablen die Referenz auf das selbe Objekt beinhalten
       2. Ob der Inhalt der Zeichenkette gleich ist.
       Sofern Sie wissen wollen, ob die Referenz auf das gleiche Objekt
       gehalten wird, verwenden Sie den Vergleichsoperanden '=='
     */
    String ref1 = new String ("http://www.Bastie.de/java/howto/index.html");
    String ref2 = ref1;
    if (ref1 == ref2){
      System.out.println("Gleiche Referenz!");
    }
    else {
      throw new RuntimeException ("Ätsch");
    }

    /* Wenn Sie jedoch wissen wollen, ob der Inhalt zweier String Objekte
       gleich ist, müssen Sie die Methode equals(Object) verwenden. Für
       die Klasse String existiert außerdem noch die Methode
       equalsIgnoreCase (String);
     */
    String inhalt1 = new String ("Make Java - Performance");
    String inhalt2 = new String ("Make Java - Performance");
    String inhalt3 = new String ("MAKE JAVA - PERFORMANCE");
    if (inhalt1 == inhalt2){
      throw new RuntimeException ("Nö ich hab 'ne andere Referenz");
    }
    if (inhalt1.equals(inhalt2)){
      System.out.println ("Ja der Inhalt ist identisch!");
    }
    else {
      throw new RuntimeException ("Hupsi");
    }
    if (inhalt2.equalsIgnoreCase(inhalt3)){
      System.out.println ("Ja der Inhalt ist identisch, wenn ich die "
                         +"Groß- / Kleinschreibung ignoriere!");
    }
    else {
      throw new RuntimeException ("Guter Versuch...");
    }
    /* Sie müssen jedoch beachten, dass nicht alles ignoriert wird, sondern
       nur "sinnvolle" Kombinantionen.
     */
    String inhalt4 = new String ("MAKE JAVA _ PERFORMANCE");
    if (inhalt3.equalsIgnoreCase(inhalt4)){
      throw new RuntimeException ("Nee - ist nicht die kleine Version von _");
    }
    else {
      System.out.println ("Nein es gibt eben keine Groß- / Kleinschreibung "
                         +"bei Nichtbuchstaben!");
    }
all rights reserved © Bastie - Sebastian Ritter @: w³: http://www.Bastie.de
Diese Seite ist Bestandteil der Internetpräsenz unter http://www.Bastie.de


Java Cobol Software Resourcen Service Links Über mich Zum Gästebuch Forum