MyClass ne peut pas être lancé à java.lang.Comparable: java.lang.ClassCastException

Je suis en train de faire un projet en java et j'ai eu ce problème et ne sais pas comment le résoudre.

Les classes de mon projet (simplifié):

public class Item {

    private String itemID;
    private Integer price;

    public Integer getPrice() {

        return this.price;

    }

}

public class Store {

    private String storeID;
    private String address;

}

public class Stock {

    private Item item;
    private Store store;
    private Integer itemCount;

    public Integer getInventoryValue() {

        return this.item.getPrice() * this.itemCount;

    }  
}

Ensuite, j'essaie de trier un ArrayList de Stock donc j'ai créer une autre classe appelée CompareByValue

public class CompareByValue implements Comparator<Stock> {

    @Override
    public int compare(Stock stock1, Stock stock2) {

        return (stock1.getInventoryValue() - stock2.getInventoryValue());

    }

}

Lorsque j'essaie d'exécuter le programme, il donne l'erreur:

Exception in thread "main" java.lang.ClassCastException: Stock ne peut pas être lancé à java.lang.Comparable

Ce que quelqu'un sait quel est le problème?

Comment exécuter le programme, spécialement lorsque vous triez la liste?

OriginalL'auteur user2234225 | 2013-10-31