String vergleich auf grösser

rojan

Grünschnabel
Hallo

Ich möchte zwei String vergleichen auf grösser oder kleiner.
Damit ich diese in meiner Liste tauschen kann.

Beispiel:
Code:
                String tempName1 = "Meier";
                String tempName2 = "Hager";      
                
                if (tempName1 > tempName2){
                    //tauschen
                    changed = true;   
                }

Der Vergleich im if funktioniert aber nur bei == nicht aber bei grösser > oder kleiner <.

Gibt es eine Möglichkeit Strings auf < oder > zu vergleichen ?

Vielen Dank für Tipps
gruss walter
 
Hallo,

wenn du die lexikographische Ordnung vergleichen willst musst du die compareTo(...) Methode verwenden.
Java:
/**
 * 
 */
package de.tutorials;

/**
 * @author Thomas.Darimont
 */
public class StringComparison {

  /**
   * @param args
   */
  public static void main(String[] args) {
    String a = "Meier";
    String b = "Hager";

    System.out.println(max(a, b));
    System.out.println(min(a, b));
  }


  static <T extends Comparable<T>> T min(T first, T second) {
    return first.compareTo(second) <= 0 ? first : second;
  }


  static <T extends Comparable<T>> T max(T first, T second) {
    return first.compareTo(second) >= 0 ? first : second;
  }

}

Gruß Tom
 
Ich möchte meine Liste nach dem Alphabet sortieren.
Und habe mir vorgstellt, dass das einfach mit einem Vergleich von grösser oder kleiner geht (wie bei Zahlen).
 
Schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @author Thomas.Darimont
 */
public class SortStringsExample {

  /**
   * @param args
   */
  public static void main(String[] args) {
    String a = "Meier";
    String b = "Hager";
    
    List<String> list = new ArrayList<String>();
    list.add(a);
    list.add(b);
    System.out.println(list);
    Collections.sort(list);
    System.out.println(list);
  }

}

Gruß Tom
 
Und bitte bei Strings und Stringvergleichen daran denken, dass Objekte verglichen werden. == schaut bei Strings nicht, ob der Inhalt gleich ist, sondern ob es das gleiche Objekt ist!

Im Beispiel sind hallo und hallo3 ungleich, obwohl beide den gleichen Inhalt haben.
Methoden wie s.equals() oder s.compareTo() vergleichen aber natürlich wie gewünscht den Inhalt.
Java:
String hallo = "hallo";
String hallo2 = "hallo2";
String hallo3 = hallo2.substring(0,5) ;
    
    if (hallo==hallo3)
        System.out.println(hallo + " und "+ hallo3 + " sind für == gleich");
    else
        System.out.println(hallo + " und "+ hallo3 + " sind für == ungleich");
    }
 

Neue Beiträge

Zurück