如您所知,Scala中的Nil是不可變集合的對象。我有一個問題,我的自定義可變集合,例如可變的Scala集合中的無對象
class ResourceMap extends mutable.HashMap[String, Int] {
....
def -(o: ResourceMapType):ResourceMap = {
if (....) {
......
} else {
Nil // Exception : raises the `change return type to Nil.type`
}
}
}
我的問題是我怎麼能在-
方法返回零?
是'-'返回底層地圖之間的差異?那你爲什麼要返回'無'呢?也許你應該返回空地圖? – tkroman
因爲'-'似乎正在返回一個新collection_,所以總體問題是爲什麼你想首先使用可變集合?不可變集合對於返回修改後的副本更有效,因爲他們需要這樣做並使用結構化共享來優化這些操作。 –