Nicht die Implementierung aller Methoden einer Schnittstelle

Ich habe versucht, die Reproduktion der code unten auf eclipse. Ich erhalte eine Fehlermeldung sagt mir, dass ich haben, um alle geerbten Methoden (weil Comparator ist ein interface).

Art new Comparator(){} implementieren muss, um die geerbte abstrakte Methode Comparator.reversed().

Gibt es viele Methoden, und die einzige, die ich überschreiben möchten, ist vergleichen. Muss ich implementieren, alle anderen Methoden oder gibt es eine Möglichkeit zu geben, die ich nicht brauchen, um Sie umzusetzen?
Ich verstehen, dass ich es zu tun habe, weil von der vertraglichen Beschaffenheit der Oberfläche, aber was ist, wenn ich nur ändern müssen, eine Methode?

static Map sortByValue(Map map) {
     List list = new LinkedList(map.entrySet());
     Collections.sort(list, new Comparator() {
          public int compare(Object o1, Object o2) {
               return ((Comparable) ((Map.Entry) (o1)).getValue())
              .compareTo(((Map.Entry) (o2)).getValue());
          }
     });

    Map result = new LinkedHashMap();
    for (Iterator it = list.iterator(); it.hasNext();) {
        Map.Entry entry = (Map.Entry)it.next();
        result.put(entry.getKey(), entry.getValue());
    }
    return result;
} 

BEARBEITEN
Gelöst, indem die compliance-Niveau zu java8 in eclipse luna. Danke!

  • Nicht sicher, was Sie reden. Für die Kompilierung in Ordnung.
  • möglich, Duplikat der nicht die Implementierung aller Methoden des interface. ist es möglich?
  • Sind Sie sicher, dass Sie, sollten Sie nicht verwenden, jede Art von Generika überhaupt in deinem code? Ist das für Java 1.4?
  • Sie erkennen, dass OP bereits verknüpft mit der Frage in seinem post?
  • Ich bekomme eine Fehlermeldung in eclipse: Die Art new Comparator(){} implementieren muss, um die geerbte abstrakte Methode Komparator.Umgekehrt() dann habe ich, wenn ich das Update habe ich viele Funktionen Hinzugefügt
  • Das ist eine wilde Vermutung: ich glaube, Sie sind mit Java8 in einem pre-Java8-Eclipse (d.h. pre-Luna). Damit Eclipse nicht weiß, dass all die neuen Komparator-Verfahren, wie thenComparing haben eine default Umsetzung.
  • Ich weiß nicht genau, ich bin ziemlich neu in java. Ich bin mit java 8
  • eigentlich bin ich mit eclipse luna und java8 und das Update vorgeschlagen, gibt mir die Standard-Implementierungen

InformationsquelleAutor giulio | 2015-01-28
Schreibe einen Kommentar