【发布时间】:2012-08-08 06:34:30
【问题描述】:
我想创建一个可变的协变类,所以我需要添加一个绑定到 setter 方法的较低类型。但是我也想让setter方法设置一个字段,所以我猜这个字段需要绑定相同的类型?
class Thing[+F](initialValue: F) {
private[this] var secondValue: Option[G >: F] = None
def setSecondValue[G >: F](v: G) = {
this.secondValue = Some(v)
}
}
该方法编译良好。但是名为 secondValue 的字段根本无法编译,并显示错误消息:
Multiple markers at this line
- ']' expected but '>:' found.
- not found: type G
我需要做什么?
【问题讨论】:
标签: scala covariance