是否有 Java 8 语法让 collections.addAll() 可以使用 null 参数?

bra*_*orm 4 java collections java-8

List<Integer> list = Lists.newArrayList(1, 2, 3);
List<Integer> list2 = null;
// throws NullPointerException
list.addAll(list2);

// using a check here    
if (list2 != null) {
    list.addAll(list2);   
}
Run Code Online (Sandbox Code Playgroud)

有没有一种Java 8方法可以在一行中简单地完成它?

这是我拥有的,但实际上我不需要创建boolean

boolean added = list2 != null ? list1.addAll(list2) : false;
Run Code Online (Sandbox Code Playgroud)

Mis*_*sha 5

如果你特别想要 Java 8 的方式,你可以这样做

Optional.ofNullable(list2).ifPresent(list::addAll);
Run Code Online (Sandbox Code Playgroud)

但我不认为它比三元表达式有多大优势。