Use the same implementation in Array.toArrayList as in arrayListOf.
This commit is contained in:
@@ -5160,7 +5160,7 @@ public fun Array<out Short>.toShortArray(): ShortArray {
|
|||||||
* Returns an [ArrayList] of all elements.
|
* Returns an [ArrayList] of all elements.
|
||||||
*/
|
*/
|
||||||
public fun <T> Array<out T>.toArrayList(): ArrayList<T> {
|
public fun <T> Array<out T>.toArrayList(): ArrayList<T> {
|
||||||
return this.asList().toArrayList()
|
return ArrayList(this.asCollection())
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ internal object EmptyList : List<Nothing>, Serializable {
|
|||||||
private fun readResolve(): Any = EmptyList
|
private fun readResolve(): Any = EmptyList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun <T> Array<out T>.asCollection(): Collection<T> = ArrayAsCollection(this)
|
||||||
|
|
||||||
private class ArrayAsCollection<T>(val values: Array<out T>): Collection<T> {
|
private class ArrayAsCollection<T>(val values: Array<out T>): Collection<T> {
|
||||||
override val size: Int get() = values.size()
|
override val size: Int get() = values.size()
|
||||||
override fun isEmpty(): Boolean = values.isEmpty()
|
override fun isEmpty(): Boolean = values.isEmpty()
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ fun snapshots(): List<GenericFunction> {
|
|||||||
}
|
}
|
||||||
body(Collections) { "return ArrayList(this)" }
|
body(Collections) { "return ArrayList(this)" }
|
||||||
body(Strings) { "return toCollection(ArrayList<T>(length()))" }
|
body(Strings) { "return toCollection(ArrayList<T>(length()))" }
|
||||||
body(ArraysOfObjects) { "return this.asList().toArrayList()" }
|
body(ArraysOfObjects) { "return ArrayList(this.asCollection())" }
|
||||||
body(ArraysOfPrimitives) {
|
body(ArraysOfPrimitives) {
|
||||||
"""
|
"""
|
||||||
val list = ArrayList<T>(size())
|
val list = ArrayList<T>(size())
|
||||||
|
|||||||
Reference in New Issue
Block a user