Kotlin 定义数据类的集合
如果我有下面的数据类Kotlin 定义数据类的集合,kotlin,Kotlin,如果我有下面的数据类 data class User(val name: String = "", val age: Int = 0) 如何定义它的集合,例如: var user = User [] // this is not working 我需要能够通过以下方式呼叫用户: user[0].name // something like this! 你在科特林是这样做的: val array = arrayOf(User("name1"), User("name2")) 如果要在不立即
data class User(val name: String = "", val age: Int = 0)
如何定义它的集合,例如:
var user = User [] // this is not working
我需要能够通过以下方式呼叫用户:
user[0].name // something like this!
你在科特林是这样做的:
val array = arrayOf(User("name1"), User("name2"))
如果要在不立即添加元素的情况下创建数组,请使用
val arrayList = ArrayList<User>()
val arrayList=arrayList()
在这种情况下,您必须明确地指定元素类型,因为没有任何东西可以推断它
从:
提供一个可变列表实现,该实现使用
可调整大小的阵列作为其备份存储
以不同方式在Kotlin中定义列表集合:
- 具有不可变(只读)列表的不可变变量:
val users: List<User> = listOf( User("Tom", 32), User("John", 64) )
val users: MutableList<User> = mutableListOf( User("Tom", 32), User("John", 64) )
var users: List<User> = listOf( User("Tom", 32), User("John", 64) )
或无初始值-空列表且无显式变量类型:var users: MutableList<User> = mutableListOf( User("Tom", 32), User("John", 64) )
val users = mutableListOf<User>() //or val users = ArrayList<User>()
var users = emptyList<User>()
或无初始值-空列表且无显式变量类型:var users = emptyList<User>().toMutableList() //or var users = ArrayList<User>()
val users = mutableListOf<User>() //or val users = ArrayList<User>()
var users = emptyList<User>()
var users = emptyList<User>().toMutableList() //or var users = ArrayList<User>()
var users=emptyList().toMutableList() //或 var users=ArrayList()
- 注意:您可以将项目添加到列表中:
users.add(anohterUser)
- 但不使用
错误:Kotlin:赋值运算符歧义:users+=其他用户
公共运算符fun Collection.plus(元素:字符串):在kotlin.collections中定义的列表
@InlineOnly公共内联运算符fun MutableCollection.plusSign(元素:字符串):在kotlin.collections中定义的单位
- 注意:您可以将项目添加到列表中:
另见:
@OliverCharlesworth我读过它,但不明白如何将它与
数据类一起使用,与普通类没有区别->例如MutableList()
如果我的初始值未知,var supply=ArrayList()
好吗?@HasanAYousef是的。(var supply=ArrayList()
)