content Deep Equals
Требования к платформе и версии: Common (1.1), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect infix fun <T> Array<out T>.contentDeepEquals(other: Array<out T>): Boolean
Проверяет, являются ли два указанных массива глубоко равными друг другу.
Два массива считаются глубоко равными, если они имеют одинаковый размер, а элементы с соответствующими индексами глубоко равны. То есть если два соответствующих элемента являются вложенными массивами, они также сравниваются глубоко. Равенство элементов других типов проверяется с помощью функции equals. Для чисел с плавающей точкой это означает, что NaN равно самому себе, а -0.0 не равно 0.0.
Если какой-либо из массивов содержит сам себя на любом уровне вложенности, поведение не определено.
Возвращает
true, если два массива глубоко равны, иначе false.
Параметры
массив, который нужно глубоко сравнить с этим массивом.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val identityMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, 1)
)
val reflectionMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, -1)
)
// the elements at index [1][1] are not equal
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // false
reflectionMatrix[1][1] = 1
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // true
//sampleEnd
}
expect infix fun <T> Array<out T>?.contentDeepEquals(other: Array<out T>?): Boolean
Проверяет, являются ли два указанных массива глубоко равными друг другу.
Два массива считаются глубоко равными, если они имеют одинаковый размер, а элементы с соответствующими индексами глубоко равны. То есть если два соответствующих элемента являются вложенными массивами, они также сравниваются глубоко. Равенство элементов других типов проверяется с помощью функции equals. Для чисел с плавающей точкой это означает, что NaN равно самому себе, а -0.0 не равно 0.0.
Массивы также считаются глубоко равными, если оба они являются null.
Если какой-либо из массивов содержит сам себя на любом уровне вложенности, поведение не определено.
Возвращает
true, если два массива глубоко равны, иначе false.
Параметры
массив, который нужно глубоко сравнить с этим массивом.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val identityMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, 1)
)
val reflectionMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, -1)
)
// the elements at index [1][1] are not equal
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // false
reflectionMatrix[1][1] = 1
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // true
//sampleEnd
}
Требования к платформе и версии: JVM (1.1)
actual infix inline fun <T> Array<out T>.contentDeepEquals(other: Array<out T>): Boolean
Проверяет, являются ли два указанных массива глубоко равными друг другу.
Два массива считаются глубоко равными, если они имеют одинаковый размер, а элементы с соответствующими индексами глубоко равны. То есть если два соответствующих элемента являются вложенными массивами, они также сравниваются глубоко. Равенство элементов других типов проверяется с помощью функции equals. Для чисел с плавающей точкой это означает, что NaN равно самому себе, а -0.0 не равно 0.0.
Если какой-либо из массивов содержит сам себя на любом уровне вложенности, поведение не определено.
Возвращает
true, если два массива глубоко равны, иначе false.
Параметры
массив, который нужно глубоко сравнить с этим массивом.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val identityMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, 1)
)
val reflectionMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, -1)
)
// the elements at index [1][1] are not equal
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // false
reflectionMatrix[1][1] = 1
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // true
//sampleEnd
}
actual infix inline fun <T> Array<out T>?.contentDeepEquals(other: Array<out T>?): Boolean
Проверяет, являются ли два указанных массива глубоко равными друг другу.
Два массива считаются глубоко равными, если они имеют одинаковый размер, а элементы с соответствующими индексами глубоко равны. То есть если два соответствующих элемента являются вложенными массивами, они также сравниваются глубоко. Равенство элементов других типов проверяется с помощью функции equals. Для чисел с плавающей точкой это означает, что NaN равно самому себе, а -0.0 не равно 0.0.
Массивы также считаются глубоко равными, если оба они являются null.
Если какой-либо из массивов содержит сам себя на любом уровне вложенности, поведение не определено.
Возвращает
true, если два массива глубоко равны, иначе false.
Параметры
массив, который нужно глубоко сравнить с этим массивом.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val identityMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, 1)
)
val reflectionMatrix = arrayOf(
intArrayOf(1, 0),
intArrayOf(0, -1)
)
// the elements at index [1][1] are not equal
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // false
reflectionMatrix[1][1] = 1
println(identityMatrix.contentDeepEquals(reflectionMatrix)) // true
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/content-deep-equals.html