import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
final int[] numbers = {-3, -5, 1, 7, 4, -2};
Arrays.sort(numbers); // final인데 정렬이??
}
}
다른 주소를 가리킬 수 없을 뿐, 그 대상 인스턴스 객체의 값을 수정하지 못한다
는 의미가 아니다.그렇다면, 내부의 값도 바꾸지 못하는 배열은 없을까?
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
/*final int[] numbers = {-3, -5, 1, 7, 4, -2};
Arrays.sort(numbers);*/
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(-1);
list.add(3);
list.add(9);
list = Collections.unmodifiableList(list);
Collections.sort(list);
}
}
Integer/Long과 같은 Wrapper Class도 참조 타입이니깐, final로 선언해도 가능하지 않을까?