考虑一下:
import packageName.doType._
class Worker
{
def doSomething(doType: DoType): Unit =
{
if(doType == Default) //...
}
}
相同文件
object DoType extends Enumeration
{
type DoType = Value
val Default, Special = Value
}
现在,只要我添加了if(doType == Default)
行,我就会收到两个错误:
" =="无法解决而且突然之间的价值"在DoType
中找不到 - .-
如何查看doType的实际值?我可以很容易地用(case-)类解决这个问题,但是我想用枚举来做。
编辑:我已经知道不能对类型进行模式匹配,因为它是def
而不是val
,仍然:你会怎么做呢? ?
答案 0 :(得分:3)
问题出在这一行:
def doSomething(doType: DoType): Unit
恕我直言应该是:
def doSomething(doType: DoType.Value): Unit