java 배열 상수에 대한 질문입니다.
조회수 2013회
배열을 선언할 때
final int[] arr = {1, 2, 3, 4, 5};
이렇게 하면 arr의 주소 값만 못 바꾸고 배열 내용은 바꿀 수 있잖아요?
여기서 배열 자체를 상수화 하고 싶습니다.
arr[1] = 11;
이런식으로 하면 상수라 못 바꾼다고 오류 발생하도록 짜고 싶습니다.
java에서 기본적으로 제공하는 구문으로 어떻게 구현하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
한가지 기억해두면 좋겠네요
자바에서 array 는 되도록 사용하지 마세요.
그 이유는 확장성도 나쁘고 코드유지보수 측면에서도 좋지 못합니다.
본질문으로 들어가서...일단 자바 문법에는 솔루션이 없습니다.
collections클래스에 변경불가형 List 를 생성하는 메소드가 있습니다.
하기의 생성되는 LIst 객체는 변경불가입니다.
java.util.Collections.unmodifiableList(Arrays.asLIst(1, 2, 3));
댓글 입력