Spec-Zone.ru › Kotlin 2

contentDeepEquals

kotlin-stdlib/kotlin.collections/contentDeepEquals

Требования к платформе и версии: 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.

Параметры

other

массив, который нужно глубоко сравнить с этим массивом.

Примеры

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.

Параметры

other

массив, который нужно глубоко сравнить с этим массивом.

Примеры

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)

@JvmName(name = "contentDeepEqualsInline")
actual infix inline fun <T> Array<out T>.contentDeepEquals(other: Array<out T>): Boolean

Проверяет, являются ли два указанных массива глубоко равными друг другу.

Два массива считаются глубоко равными, если они имеют одинаковый размер, а элементы с соответствующими индексами глубоко равны. То есть если два соответствующих элемента являются вложенными массивами, они также сравниваются глубоко. Равенство элементов других типов проверяется с помощью функции equals. Для чисел с плавающей точкой это означает, что NaN равно самому себе, а -0.0 не равно 0.0.

Если какой-либо из массивов содержит сам себя на любом уровне вложенности, поведение не определено.

Возвращает

true, если два массива глубоко равны, иначе false.

Параметры

other

массив, который нужно глубоко сравнить с этим массивом.

Примеры

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
}

@JvmName(name = "contentDeepEqualsNullable")
actual infix inline fun <T> Array<out T>?.contentDeepEquals(other: Array<out T>?): Boolean

Проверяет, являются ли два указанных массива глубоко равными друг другу.

Два массива считаются глубоко равными, если они имеют одинаковый размер, а элементы с соответствующими индексами глубоко равны. То есть если два соответствующих элемента являются вложенными массивами, они также сравниваются глубоко. Равенство элементов других типов проверяется с помощью функции equals. Для чисел с плавающей точкой это означает, что NaN равно самому себе, а -0.0 не равно 0.0.

Массивы также считаются глубоко равными, если оба они являются null.

Если какой-либо из массивов содержит сам себя на любом уровне вложенности, поведение не определено.

Возвращает

true, если два массива глубоко равны, иначе false.

Параметры

other

массив, который нужно глубоко сравнить с этим массивом.

Примеры

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API