如何在 Kotlin 的 abc0中添加一个项目?
如果你有一个 易变收藏:
val list = mutableListOf(1, 2, 3) list += 4
如果你有一个 一成不变收藏:
var list = listOf(1, 2, 3) list += 4
注意,我使用 val作为可变列表,以强调对象始终相同,但其内容发生了变化。
val
在不可变列表的情况下,必须将其设置为 var。+=运算符使用附加值创建一个新对象。
var
+=
如果你想特别使用 java 数组列表,你可以这样做:
fun initList(){ val list: ArrayList<String> = ArrayList() list.add("text") println(list) }
否则@guenhter 就是你要找的答案。
For people just migrating from java, In Kotlin List is by default immutable and mutable version of Lists is called MutableList.
java
Kotlin
List
MutableList
因此,如果你有这样的东西:
val list: List<String> = ArrayList()
在这种情况下,您不会得到一个 add()方法,因为 list 是不可变的。因此,你必须如下所示声明 MutableList:
add()
val list: MutableList<String> = ArrayList()
现在您将看到一个 add()方法,并且可以向任何列表添加元素。
可以使用 +=向数组中添加新项,例如:
private var songs: Array<String> = arrayOf() fun add(input: String) { songs += input }
我所做的是在视图模型中存储一个字符串列表,并在片段中访问它。
我创建了一个对话框片段,正在编辑对话框中的字符串,并使用导航组件将字符串值返回给主片段。
当输入对话框片段时,视图模型被清除,列表也随之清除。因此,当我将列表传递给适配器时,它实际上不会显示任何内容,并且有一个引用错误。
还有, 当传递 list 到适配器 add 时,toList ()
‘ Adapter.subMItList (viewModel.lableList.toList ())’
这是一个如何在 Kotlin 的 String/ArrayList中添加一个项目的代码示例。
String
ArrayList
val arrayList: ArrayList<String> = ArrayList() arrayList.add("January")