public class Depot extends Item2
{
}
public class Station extends Item2
{
}
private final HashMap<Integer, Depot> depots = new HashMap<>();
private final HashMap<Integer, Station> stations = new HashMap<>();
兩個倉庫和站點存儲一些具有Item2
基數的東西。現在我想傳遞給函數的:Java,將HashMap元素投射到它的祖先
Item2 item;
canBeAdded(item, depots);
canBeAdded(item, stations);
private boolean canBeAdded (Item2 item, HashMap<Integer, Item2> items)
{
遺憾的是其並不好,在canBeAdded
它說
「不兼容類型:
HashMap <Integer, Depot>
不能轉換爲<Integer, Item2>
」
您可以使用Map項目' –
哦,很酷,這是什麼?或者它叫什麼名字?我不是Java專家 –
當在泛型中使用''時,它意味着它必須是那種類型。如果你使用'?擴展Item2'意味着任何延伸該類型的東西。 –