xia*_*982 5 scala structural-typing value-class
这是简化的代码:
class Value(val value: Int) extends AnyVal
val v = new Value(1)
val x = new { val f: Int = v.value }
println(x.f)
val y = new { val f: Value = v }
println(y.f)
Run Code Online (Sandbox Code Playgroud)
错误:结构细化中的结果类型可能不引用用户定义的值类
val y = new { val f: 值 = v }
我不明白。既然Int也是一个值类,为什么Int可以用作成员,而我的值类Value却不能?为什么scala定义了这个限制?如何在结构类型中使用用户定义的值vlass?
| 归档时间: |
|
| 查看次数: |
171 次 |
| 最近记录: |