使用 Scala 2.7.7,这可以按预期工作:
import scala.collection.mutable.Stack
...
var x = new Stack[String]
x += "Hello"
println(x.top)
更改为 Scala 2.8.0 后,+= 应替换为 :+。但是,这不会附加到堆栈:java.util.NoSuchElementException:空列表头。
我忽略了一些基本的东西吗?
使用 Scala 2.7.7,这可以按预期工作:
import scala.collection.mutable.Stack
...
var x = new Stack[String]
x += "Hello"
println(x.top)
更改为 Scala 2.8.0 后,+= 应替换为 :+。但是,这不会附加到堆栈:java.util.NoSuchElementException:空列表头。
我忽略了一些基本的东西吗?
:+
,在 SeqLike 中定义,复制堆栈并将元素附加到新堆栈中,然后返回。所以x
没有修改。
可能您想要.push()
代替(示例)。
var x = new Stack[String]
x.push("Hello")
println(x.top)