Collections
List.of: null要素を許可しない
List.ofは変更不可であるだけでなく、作成時にnull要素を検出して例外にします。
SourceNullFreeLists.java
Java 21
package examples.list;
import java.util.List;
public final class NullFreeLists {
private NullFreeLists() {}
public static List<String> values(String first, String second) {
return List.of(first, second);
}
}TestNullFreeListsTest.java
Java 21
package examples.list;
import static org.junit.jupiter.api.Assertions.assertThrows;
import org.junit.jupiter.api.Test;
class NullFreeListsTest {
@Test
void ListOfはnull要素を持つListを作れない() {
assertThrows(NullPointerException.class, () -> NullFreeLists.values("java", null));
}
}01Assertion
このテストで確認できること
- List.ofへnullを渡すと作成時にNullPointerExceptionになる
入力にnullが含まれ得るなら、List.ofの前に検証またはフィルタリングを置きます。nullを保持する必要がある場合は別のList実装を選びます。
OBSERVED RESULT
expected exception: List.of("java", null) → NullPointerException
actual: NullPointerException