MyClass не может быть приведен к java.lang.Comparable: java.lang.ClassCastException
Я делаю проект Java, и я получил эту проблему и не знаю, как ее исправить.
Занятия в моем проекте (упрощенно):
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;
}
}
Затем я пытаюсь отсортироватьArrayList
запасов, поэтому я создаю еще один класс под названиемCompareByValue
public class CompareByValue implements Comparator<Stock> {
@Override
public int compare(Stock stock1, Stock stock2) {
return (stock1.getInventoryValue() - stock2.getInventoryValue());
}
}
Когда я пытаюсь запустить программу, она выдает ошибку:
Исключение в потоке "main" java.lang.ClassCastException: запас не может быть приведен к java.lang.Comparable
Кто-нибудь знает, что не так?