Skip to main content

Java Arrays.sort() 반환값은 void


1. 개요

  • Arrays.sort()는 Java에서 배열을 정렬할 때 사용하는 정적 메서드이다.
  • 이 메서드는 배열을 제자리(in-place) 에서 정렬하며, 반환값이 없다 = (void를 반환한다.)
  • 따라서 반환값이 없는 메서드를 arr = Arrays.sort(arr);처럼 작성하면 voidint[]에 할당하려는 시도가 되어 타입 불일치 오류(incompatible types)가 발생한다.
  • 오류 메세지 : incompatible types: void cannot be converted to int[]

2. 기본 문법

Arrays.sort(배열);

매개변수

설명

배열

정렬 대상 (예: int[], char[], String[])


3. 반환값이 void인 이유

항목

설명

제자리 정렬

Arrays.sort()원본 배열 자체를 수정함

새로운 배열 반환 안 함

정렬된 배열을 새로 만들어 반환하지 않음

메모리 절약

불필요한 배열 복사 없이 빠른 정렬 수행 가능

할당 X

int[] sorted = Arrays.sort(arr); ❌ 오류 발생


4. 정렬된 배열을 새로 만들고 싶다면?

아래와 같이 Arrays.copyOf(원본배열, 원본배열의 길이)를 통해 배열을 복사한 후, 정렬을 수행한다.

int[] original = {3, 1, 2};
int[] copy = Arrays.copyOf(original, original.length);
Arrays.sort(copy);

5. 관련 메서드

메서드

설명

Arrays.sort(arr)

기본 오름차순 정렬

Arrays.sort(arr, Comparator)

사용자 정의 기준 정렬 (객체 배열)

Collections.sort(list)

리스트 정렬 (반환값 없음)