rhkdduf63   2년 전

아래코드로 작성했을 때 에러가 나고,


비교함수를 

return o1 < o2 ? -1 : o1 == o2 ? 0 : 1;

과 같이 수정하니 잘실행됩니다.

기존 소스코드로는 왜 안될까요? 같을 경우를 꼭 명시해줘야되는건가요?

nowkangmin   2년 전

 compare() 메서드는  두 값 중 앞의 것이 크면  음수, 같으면 0, 뒤의 것이 크면 양수를 리턴하는 함수입니다. 

이를 오버라이드 하여 구현하였을때 같은 값이 계속 리턴되면 두 수를 비교할 방법이 없다고 여겨집니다. 

따라서 SORT시에 런타임 에러가 발생하는 것으로 예상됩니다.

댓글을 작성하려면 로그인해야 합니다.