【发布时间】:2011-07-08 13:55:26
【问题描述】:
class X extends Map[String, String] {
def x(): X = { X() } // can't be compiled
}
无法编译,错误是:
<console>:6: error: not found: value X
def x(): X = { X() } // can't be compiled
为什么找不到 X?我不知道如何纠正它。
更新:
我现在知道原因了。我想做的是创建一个扩展HashMap 的类,因为Map() 将返回HashMap 的实例,所以我想我可以扩展Map。现在,正确的代码应该是:
import scala.collection.immutable.HashMap
class X extends HashMap[String, String] {
def x(): X = { new X() }
}
【问题讨论】:
-
Kevin Wright 在收藏扩展方面有一个非常 好的回复。考虑创建另一个 SO 问题,只关注那个(扩展/创建 Scala 2.8 集合),特别是“un-bury”它的问题。
-
@pst,很好的建议,但是现在,我对 scala 太陌生了,我什至不知道如何问这个问题。
标签: scala