- 채점
- 런타임 에러
- 런타임 에러 (IllegalArgumentException)
IllegalArgument
java.lang.IllegalArgumentException
은 적합하지 않거나(illegal) 적절하지 못한(inappropriate) 인자를 메소드에 넘겨주었을 때 발생합니다.
Comparison method violates its general contract!
Arrays.sort
나 Collections.sort
를 사용한 경우 Comparator
가 다음을 지키지 않은 경우에도 발생합니다.
- 모든
x
,y
에 대해서,sgn(compare(x, y)) == -sgn(compare(y, x))
compare(x, y)
가 예외를 던지는 경우,compare(y, x)
도 예외를 던져야 합니다.
((compare(x, y)>0) && (compare(y, z)>0))
이면compare(x, z)>0
compare(x, y)==0
이면 모든z
에 대해서,sgn(compare(x, z))==sgn(compare(y, z))
여기서 sgn(expression)
은 expression
이 음수면 -1
, 양수면 1
, 0이면 0
을 의미합니다.