Collections 初級

不変リストを一つのシンプルな式で作成する。

✕ Java 8
List<String> list =
    Collections.unmodifiableList(
        new ArrayList<>(
            Arrays.asList("a", "b", "c")
        )
    );
✓ Java 9+
List<String> list =
    List.of("a", "b", "c");
このコードに問題がありますか? お知らせください。
📏

1回の呼び出し

3つのネストした呼び出しを単一のファクトリメソッドに置き換えます。

🔒

真の不変性

ラッパーではなく、リスト自体が不変です。

🛡️

null安全

作成時にnull要素を拒否し、早期に失敗します。

旧来のアプローチ
冗長なラッピング
モダンなアプローチ
List.of()
JDKバージョン
9
難易度
初級
不変リストの作成
利用可能

JDK 9(2017年9月)以降、広く利用可能

List.of()は真の不変リストを作成します。ラッピングも防御的コピーも不要です。nullを受け付けず(null要素を拒否)、構造的に不変です。従来の方法では3つのネストした呼び出しが必要でした。

共有 𝕏 🦋 in