Java unmodifiableList

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