티스토리 뷰
Java9 에서 List, Set, Map 인터페이스에 불변 인스턴스를 생성할 수 있는 새로운 팩토리 메소드가 추가되었습니다.(별로 환영하고 싶지 않은) 이 팩토리 메소드는 복잡하지 않고 간결한 방법으로 collection 을 생성하기 위한 편리한 팩토리 메소드 입니다.
과거
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
set = Collections.unmodifiableSet(set);
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list = Collections.unmodifiableList(list);
Map<String, String> map = new HashMap<>();
map.put("A","Apple");
map.put("B","Boy");
map.put("C","Cat");
map = Collections.unmodifiableMap(map);
Java9
Set<String> set = Set.of("A", "B", "C");
List<String> list = List.of("A", "B", "C");
Map<String, String> map = Map.of("A","Apple","B","Boy","C","Cat");
factory methods
static <E> List<E> of(E e1, E e2, E e3);
static <E> Set<E> of(E e1, E e2, E e3);
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3);
static <K,V> Map<K,V> ofEntries(Map.Entry<? extends K,? extends V>... entries)
문법만 간결해진 것 만은 확실한 것 같습니다.
'IT > 개발' 카테고리의 다른 글
dash -> bash (0) | 2019.04.16 |
---|---|
Java9 - Stream API Improvements (0) | 2019.03.20 |
Java9 - Module System (0) | 2019.03.12 |
Java default timezone (0) | 2019.03.07 |
Java8 Feature (0) | 2019.03.04 |