[Java] array lengths differ, expected: <2> but was: <3>

2023. 5. 9. 23:12

 

❓ 문제 상황

Arrays.copyOfRange() 메서드를 사용하여 새로운 배열로 해당되는 인덱스 요소부터 출력하는 문제였다. 처음에는 당연히 해당 인덱스의 요소부터 끝 요소까지 나와야한다고 생각했기 때문에 length(arr.length) - 1 을 했다. 

근데 array lengths differ, expected: <2> but was: <3> 와 같은 에러가 나왔다. 

즉, 배열의 길이가 다른데 같은 것으로 취급하니 안 된다는 얘기인데...... 알고 보니 Arrays.copyOfRange() 메서드의 특성? 속성? 을 제대로 알지 못해 생긴 일이었다. 

Arrays.copyOfRange(원본 배열, 시작 인덱스(from), 끝 인덱스(to))

이 메서드는 원본 배열에서 복사 시작 인덱스 부터 끝 인덱스의 이전까지 배열 복사를 하여 새로운 배열을 만드는 메서드였다. 

 

하지만 나는 그것을 포함해서 하려고 하니 자꾸 에러가 났던 것! 

 

이렇게 바꿔주고 해결 완료!!

BELATED ARTICLES

more