मैं जावा परियोजना कर रहा हूं और मुझे यह समस्या मिली है और यह नहीं पता कि इसे कैसे ठीक किया जाए।MyClass को java.lang पर नहीं डाला जा सकता है। कॉम्पैरेबल: java.lang.ClassCastException
अपने प्रोजेक्ट में कक्षाएं (सरलीकृत):
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());
}
}
जब मैं बनाने सुलझाने की कोशिश प्रोग्राम चलाने की कोशिश करें, यह त्रुटि देता है:
Exception in thread "main" java.lang.ClassCastException: Stock cannot be cast to java.lang.Comparable
कोई भी जानता है कि क्या गलत है?
आप प्रोग्राम कैसे चलाते हैं, खासकर जहां आप सूची को सॉर्ट करते हैं? –