diff --git a/runtime/src/main/kotlin/kotlin/Arrays.kt b/runtime/src/main/kotlin/kotlin/Arrays.kt index ea27f670507..9a21184f839 100644 --- a/runtime/src/main/kotlin/kotlin/Arrays.kt +++ b/runtime/src/main/kotlin/kotlin/Arrays.kt @@ -2089,6 +2089,33 @@ public fun Array.sortedArrayWith(comparator: Comparator): Array return this.copyOf().apply { sortWith(comparator) } } +/** + * Returns a string representation of the contents of the specified array as if it is [List]. + */ +@SinceKotlin("1.1") +@kotlin.internal.InlineOnly +public inline fun Array.contentToString(): String { + return this.subarrayContentToString(offset = 0, length = this.size) +} + +/** + * Returns a string representation of the contents of the subarray of the specified array as if it is [List]. + */ +@SinceKotlin("1.1") +@kotlin.internal.InlineOnly +public inline fun Array.subarrayContentToString(offset: Int, length: Int): String { + val sb = StringBuilder(2 + length * 3) + sb.append("[") + var i = 0 + while (i < length) { + if (i > 0) sb.append(", ") + sb.append(this[offset + i]) + i++ + } + sb.append("]") + return sb.toString() +} + // From Library.kt. /** * Returns an array of objects of the given type with the given [size], initialized with null values. diff --git a/runtime/src/main/kotlin/kotlin/collections/ArrayList.kt b/runtime/src/main/kotlin/kotlin/collections/ArrayList.kt index c8cfb957108..5777a67d24d 100644 --- a/runtime/src/main/kotlin/kotlin/collections/ArrayList.kt +++ b/runtime/src/main/kotlin/kotlin/collections/ArrayList.kt @@ -167,16 +167,7 @@ class ArrayList private constructor( } override fun toString(): String { - val sb = StringBuilder(2 + length * 3) - sb.append("[") - var i = 0 - while (i < length) { - if (i > 0) sb.append(", ") - sb.append(array[offset + i]) - i++ - } - sb.append("]") - return sb.toString() + return this.array.subarrayContentToString(offset, length) } // ---------------------------- private ----------------------------