본문 바로가기

컴퓨터/JAVA

[java] [Error] no suitable method found for sort(int[],java.util.Comparator<java.lang.Object>)

이전에 포스팅했던 프로그래머스의 '최솟값 만들기'를 해결하며

마주했던 에러 사항이다.

 

다시 설명하자면,

기존에 알고있던 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)

 

[Error] no suitable method found for sort(int[],java.util.Comparator<java.lang.Object>)

int 배열을 내림차순으로 정렬하고자 했다.Comparator에 Collections.reverseOrder()를 사용하려고 한 순간 오류가 발생했다.https://darkstart.tistory.com/209<primitive 타입에 대한 Compara

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