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));
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)