사실 이는 9장 제네릭스에서 다룰 강력한 변성(variance)이라는 개념을 구체적으로 적용한 것일 뿐이다.
배열을 생성하고 나면 그 길이를 바꿀 수 없지만, + 연산을 사용해 원소를 추가한 새로운 배열을 만들 수는 있다.
val b = intArrayOf(1, 2, 3) + 4 // 원소를 하나만 추가: 1, 2, 3, 4 val c = intArrayOf(1, 2, 3) + intArrayOf(5, 6) // 다른 배열을 추가: 1, 2, 3, 5, 6
문자열과 달리 배열에 대한 ==와 != 연산자는 원소 자체를 비교하지 않고 참조를 비교한다.
intArrayOf(1, 2, 3) == intArrayOf(1, 2, 3) // false
배열 내용을 비교하고 싶으면 contentEquals() 함수를 사용하라.
intArrayOf(1, 2, 3).contentEquals(intArrayOf(1, 2, 3)) // true
IDE 팁 ≡
인텔리J는 ==나 !=를 사용해 배열을 비교하는 경우 contentEquals() 호출로 바꾸라는 경고를 표시해준다.