好的,我有一个名为" ListNode"的案例类,下面是我得到的错误:
scala> case class ListNode[Int](vl: Int, nt: ListNode[Int] = null) {
| def value: Int = vl
| def next: ListNode[Int] = nt
| }
defined class ListNode
scala> var a = ListNode(1)
a: ListNode[Int] = ListNode(1,null)
scala> var b = ListNode(2)
b: ListNode[Int] = ListNode(2,null)
scala> a.next = b
<console>:11: error: value next_= is not a member of ListNode[Int]
a.next = b
^
我已阅读this和this以及this和this以及this,但仍然不明白这意味着什么......
为什么我不能将接下来的节点设置为另一个节点,就像在Java中一样?
非常感谢。
答案 0 :(得分:2)
我看到两个问题(可能还有更多)。
1 - 您的类型参数应该是参数而不是Int
规范。
2 - 如果您要重新分配next
的值,那么它必须是var
。
case class ListNode[T](vl: T, nt: ListNode[T] = null) {
val value: T = vl
var next: ListNode[T] = nt
}
scala> val a = ListNode(1)
a: ListNode[Int] = ListNode(1,null)
scala> val b = ListNode(2)
b: ListNode[Int] = ListNode(2,null)
scala> a.next = b
a.next: ListNode[Int] = ListNode(2,null)
当然,作为一个案例类,它可以大大简化。
// this is all you need
case class ListNode[T](value: T, var next: ListNode[T] = null)