2
的類,所以在Java中我有包含所使用的類作爲鍵指向同一個類的對象是一個HashMap類。斯卡拉得到一個參數
class ComponentContainer {
private HashMap<Class<? extends Component>, Component> componentMap
public ComponentContainer {
componentMap = new HashMap<Class<? extends Component>, Component>();
}
public void set (Component c) {
componentMap.put(c.getClass(), c);
}
}
然而,當我試圖做同樣的事情Scala中的一個特徵中,我發現自己得到一個類型不匹配錯誤,一個java.lang.Class中的[?0],發現其中類[成分]需要。
trait ComponentContainer {
val componentMap: HashMap[Class[Component], Component] = HashMap.empty
def set (c: Component) {
val t = (c.getClass, c)
componentMap += t
}
}
這讓我絕對難住,任何幫助將不勝感激。
這是完美的,謝謝你。我不認爲我有什麼理由擔心部件的類型參數。這一切似乎都那麼明顯,一旦有人指出它給你。乾杯! – 2011-05-01 00:22:25