Java unmodifiableList

  • Java 에서 변경 불가능한 자료구조
  • 단순 final array 로는 내부 데이터 변경이 가능하다.
    • array 자체를 변경 할수 없을뿐
 1 import java.util.*;
 2 class Main{
 3   public static void main(String args[]){
 4     String str1 = "hello";
 5     String str2 = "world";
 6     String str3 = "jaeyoung";
 7     final String test[] = { str1, str2, str3 };
 8     test[2] = "rangken";
 9     // 변경이 가능하다. test array 가 final 이다
10     // test = anotherarr; 는 불가능하다
11     // final List<String> 도 마찬가지
12     for(String s : test){
13       System.out.println(s); // hello world rangken
14     }
15     // 변경 불가능한 객체를 담는 array
16     List<String> items = Collections.unmodifiableList(Arrays.asList("hello","world","jaeyoung"));
17     // 런타임 에러 발생
18     items.add("rangken");
19   }
  • 변경 불가능한 자료구조를 만들기 위해서는 Google Guava 를 사용하면 좋다.
  • 계속!