【发布时间】:2011-10-02 16:33:10
【问题描述】:
我在 Scala 中有以下类定义:
class AppendErrorMessageCommand private(var m_type: Byte) {
def this() = this(0x00)
def this(errorType: ErrorType) = this(getErrorTypeValue(errorType))
private def getErrorTypeValue(errorType: ErrorType) = {
if(errorType == USER_OFFLINE)
0x01
else if(errorType == PM_TO_SELF)
0x02
0x00
}
}
ErrorType 是以下枚举:
object ErrorType extends Enumeration {
type ErrorType = Value
val USER_OFFLINE, PM_TO_SELF = Value
}
我认为类中的构造函数定义有问题。我的 IDE(它是 Eclipse 的 Scala IDE)告诉我它找不到 getErrorTypeValue。它还告诉我重载的构造函数有替代方案。一个是字节,另一个是枚举。
不过,不要认真对待 IDE 的这些错误消息。他们可能是错的,因为这经常发生在 IDE 中。但尽管如此,当 IDE 告诉我有问题时,通常是错误的。
那么,我的类/构造函数定义有什么问题?
【问题讨论】:
标签: scala enums constructor