Wie die Verwendung der Komparator-Schnittstelle

Ich bin neu in java, und ich bin nicht wirklich immer, wie die Verwendung der Komparator-Schnittstelle.
Ich habe eine ArrayList von Items in einem Inventory Klasse und ein Item Klasse.
In der Item Klasse schrieb ich:

public class Item implements Comparator<Item> {
    //stuff
    ...
    @Override
    public int compare(Item a, Item b) {
        if (a.getID().compareToIgnoreCase(b.getID())>0)
            return 1;
        else if (a.getID().compareToIgnoreCase(b.getID())<0)
            return -1;
        else
            return 0;
    }
}

Die getID () - Methode gibt nur die id, die ich verwenden, um die Elemente alphabetisch.
Ich bin mir nicht sicher, ob das richtig ist, es machte mir den @Override Anmerkung, ich bin nicht sicher, warum. Auch ich schrieb eine Schnittstelle, die einfach sagt:

 public interface Comparator<Item>
{
    int compare(Item a, Item b);
}

Ich bin nicht sicher, dass bit. Auch wie implementiere ich diese Methode zum Sortieren der arraylist erstellt, in der inventory-Klasse?

Dank, wenn meine Frage nicht sinnvoll oder Klärung benötigt, lasst es mich einfach wissen.

Warten Sie, Ihre Item Klasse implementiert Comparator, die sich auf die definition erfordert eine generische Item zu arbeiten. Es scheint, dass Sie nicht brauchen, eine generische Schnittstelle hier...
Was meinst du mit " generische Schnittstelle?
Ich weiß nicht, wie zu erklären... google.com/search?btnG=1&pws=0&q=generics+in+java
dude überprüfen Sie meine aktualisierte Antwort. Ich denke, das ist, was Sie wollen.

InformationsquelleAutor bassandguitar | 2013-04-21

Schreibe einen Kommentar