作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这样的代码:
val dm = List[String]()
val dk = List[Map[String,Object]]()
.....
dm.add("text")
dk.add(Map("1" -> "ok"))
但它抛出运行时 java.lang.UnsupportedOperationException。
我需要声明空列表或空 map ,并且稍后在代码中需要填充它们。
最佳答案
Scala 列表默认是不可变的。您无法“添加”元素,但可以通过在前面附加新元素来形成新列表。由于它是一个新列表,因此您需要重新分配引用(因此您不能使用 val)。
var dm = List[String]()
var dk = List[Map[String,AnyRef]]()
.....
dm = "text" :: dm
dk = Map(1 -> "ok") :: dk
运算符::
创建新列表。您还可以使用更短的语法:
dm ::= "text"
dk ::= Map(1 -> "ok")
注意: 在 scala 中不要使用 Object
类型,而是使用 Any
、AnyRef
或 AnyVal
.
关于scala - 如何在scala中声明空列表然后添加字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6557169/
我是一名优秀的程序员,十分优秀!