如何在 Kotlin 的另一个 ArrayList 中的 ArrayList 上存储 subList 操作?
How to store subList operation on an ArrayList in another ArrayList in Kotlin?
我在 IntelliJ Idea
中使用 Kotlin REPL
我有一个ArrayList
。
val myArrayList: ArrayList<String?> = arrayListOf("pig", null, "cow", "chicken", "chicken", "duck", "turkey", "pig", null, null, "turkey", "pig")
操作
myArrayList.subList(2, 3)
给我输出:
res5: kotlin.collections.MutableList<kotlin.String?> = [cow]
但是操作
val myArraySubList: ArrayList<String?> = myArrayList.subList(2, 3)
给我错误:
error: type mismatch: inferred type is MutableList<String?> but kotlin.collections.ArrayList<String?> /* = java.util.ArrayList<String?> */ was expected
val myArraySubList: ArrayList<String?> = myArrayList.subList(2, 3)
^
那么,这里我如何将 ArrayList
上的 subList
操作的结果存储在另一个 ArrayList
中?
ArrayList(myArrayList.subList(2, 3))
使用这个构造函数:
<init>(elements: Collection<E>)
但请考虑您是否真的需要它:明确使用 ArrayList
而不是 MutableList
很少有用。
我在 IntelliJ Idea
中使用 Kotlin REPL我有一个ArrayList
。
val myArrayList: ArrayList<String?> = arrayListOf("pig", null, "cow", "chicken", "chicken", "duck", "turkey", "pig", null, null, "turkey", "pig")
操作
myArrayList.subList(2, 3)
给我输出:
res5: kotlin.collections.MutableList<kotlin.String?> = [cow]
但是操作
val myArraySubList: ArrayList<String?> = myArrayList.subList(2, 3)
给我错误:
error: type mismatch: inferred type is MutableList<String?> but kotlin.collections.ArrayList<String?> /* = java.util.ArrayList<String?> */ was expected
val myArraySubList: ArrayList<String?> = myArrayList.subList(2, 3)
^
那么,这里我如何将 ArrayList
上的 subList
操作的结果存储在另一个 ArrayList
中?
ArrayList(myArrayList.subList(2, 3))
使用这个构造函数:
<init>(elements: Collection<E>)
但请考虑您是否真的需要它:明确使用 ArrayList
而不是 MutableList
很少有用。