2016-07-22 5 views
1

Datum Vergleich für die Sortierung funktioniert nicht. Bitte beraten.Datum Vergleich fehlgeschlagen d1.compareTo (d2)

Code:

public class ListMapComparator implementiert Vergleicher {

@Override 
public int compare(Object obj1, Object obj2) { 
    try { 
     Map<String, String> test1 = (Map<String, String>) obj1; 
     Map<String, String> test2 = (Map<String, String>) obj2; 
     String string1 = test1.get("formattedDate"); 
     String string2 = test2.get("formattedDate"); 
     SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
     Date d1 = sdf.parse(string1); 
     Date d2 = sdf.parse(string2); 
     return d1.compareTo(d2); 
    } catch (ParseException ex) { 
     //Logger.getLogger(ListMapComparator.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    return 0; 

} 

}

Fehler: Fehler: kann nicht Symbol finden d1.compareTo zurückkehren (d2); Symbol: Methode compareTo (Datum) Speicherort: Variable d1 vom Typ Datum Hinweis: Einige Eingabedateien verwenden oder überschreiben eine veraltete API. Hinweis: Erneutes Kompilieren mit -Xlint: Veraltet für Details. Hinweis: Einige Eingabedateien verwenden ungeprüfte oder unsichere Operationen. Hinweis: Kompilieren Sie mit -Xlint: deaktiviert für Details.

Antwort

2

Die Klasse Date in Codename One ist nicht vergleichbar, daher wird der Aufruf compareTo fehlschlagen. Sie können jedoch ungefähr dasselbe tun, indem Sie die letzte Zeile ändern in:

Oder umgekehrt sortieren in umgekehrter Reihenfolge.