-
[Kotlin] 배열의 내용을 비교하는 contentEqualsIT Study 2024. 1. 3. 14:05728x90
Kotlin에서 배열을 비교할 때는 주의해야 합니다.
배열이 참조 타입이기 때문에 '==' 연산자를 사용하면 배열의 참조가 비교되기 때문인데요.
이는 다음과 같은 예제 코드에서 확인할 수 있습니다.
val arr1 = intArrayOf(1, 2, 3) val arr2 = intArrayOf(1, 2, 3) println(arr1 == arr2) // 출력: false
arr1과 arr2는 같은 내용을 가지고 있지만, '==' 연산자를 사용하면 false가 출력됩니다.
이는 '==' 연산자가 두 배열의 참조를 비교하기 때문입니다.
그렇다면, 배열의 내용 자체를 비교하려면 어떻게 해야 할까요?이때 사용할 수 있는 것이 바로 contentEquals() 함수입니다.
이 함수는 배열의 내용이 같은지를 비교합니다.
val arr1 = intArrayOf(1, 2, 3) val arr2 = intArrayOf(1, 2, 3) println(arr1.contentEquals(arr2)) // 출력: true
contentEquals() 함수를 사용하면, arr1과 arr2가 같은 내용을 가지고 있다는 것을 올바르게 확인할 수 있습니다.
이처럼 Kotlin에서 배열의 내용을 비교할 때는 contentEquals() 함수를 사용하면 됩니다.
'==' 연산자를 사용하면 배열의 참조가 비교되므로 주의해야 합니다.
더욱 효율적인 코드를 작성하기 위해, 참조 비교와 내용 비교의 차이를 이해하고
적절한 연산자나 함수를 사용하는 것이 중요하겠네요 😆
'IT Study' 카테고리의 다른 글
[Native] 기본기에 관하여 (Feat. 2024년 11월 첫째주의 악몽) (3) 2024.11.10 [아키텍처] MVC, MVP, MVVM, MVI 패턴에 관하여 (0) 2024.02.05