이전에 포스팅했던 프로그래머스의 '최솟값 만들기'를 해결하며
마주했던 에러 사항이다.
다시 설명하자면,
기존에 알고있던 Arrays.sort()와 Arrays.sort(arr, Collections.reverseOrder())을 사용하여 정렬을 하려고 했는데
계속 에러가 났다.
Comparator는 원시 타입의 int 배열에서는 사용할 수 없었던 것이 원인이었다.
하단 블로그를 참고하여
Integer[] Br = Arrays.stream(B).boxed().toArray(Integer[]::new);
Arrays.sort(Br, Collections.reverseOder());
integer[]로 변환하였다.
boxed
- boxed()는 원시 타입에 대한 스트림 지원을 클래스 타입으로 전환해준다.
<int[] -> integer[]로 바꾸는 경우>
1) int[] -> IntStream 전환 ------------Arrays.stream(arg);
2) IntStream -> Stream<Integer> 전환 ------------steam.boxed();
3) Stream<Integer> -> Integer[] 전환 ------------boxed.toArray(Integer[]::new);
public static void main(String[] args) {
int[] num={1,2,3};
Integer[] result = Arrays.stream(num).boxed().toArray(Integer[]::new);
}
[Error] no suitable method found for sort(int[],java.util.Comparator<java.lang.Object>) (velog.io)
728x90
'컴퓨터 > JAVA' 카테고리의 다른 글
[java] HashSet() (0) | 2023.05.22 |
---|---|
[java] toCharArray() (0) | 2023.05.18 |
[java] stack 구현 (0) | 2023.05.04 |
[java] 문자열 한 글자 씩 자르기 (0) | 2023.05.03 |
[java] 배열 문법 정리 (0) | 2023.05.02 |