ABOUT ME

작은 디테일에 집착하는 개발자

Today
-
Yesterday
-
Total
-
  • [Kotlin] 배열의 내용을 비교하는 contentEquals
    IT Study 2024. 1. 3. 14:05
    728x90

    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() 함수를 사용하면 됩니다.

    '==' 연산자를 사용하면 배열의 참조가 비교되므로 주의해야 합니다.

     

    더욱 효율적인 코드를 작성하기 위해, 참조 비교와 내용 비교의 차이를 이해하고

    적절한 연산자나 함수를 사용하는 것이 중요하겠네요 😆

Designed by Tistory.