0

使用 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:空列表头。

我忽略了一些基本的东西吗?

4

1 回答 1

1

:+,在 SeqLike 中定义,复制堆栈并将元素附加到新堆栈中,然后返回。所以x没有修改。

可能您想要.push()代替(示例)。

var x = new Stack[String]
x.push("Hello")
println(x.top)
于 2010-08-14T08:10:00.517 回答