Java:如果存在可选值,则添加到Guava ImmutableList

Sky*_*ker 3 java list immutability optional

寻找一种理想的方法来将值添加到列表中.最终列表必须是不可变的.

例-

Optional<Item> optionalItem = getOptionalItemFromSomewhereElse();

List<Item> list = ImmutableList.builder()
                      .add(item1) 
                      .add(item2)
                      .optionallyAdd(optionalItem)
                  .build();
Run Code Online (Sandbox Code Playgroud)

Fed*_*ner 6

我会在最后添加可选项,如果它存在:

ImmutableList.Builder<Item> builder = ImmutableList.<Item>builder()
    .add(item1)
    .add(item2);
optionalItem.ifPresent(builder::add);
Run Code Online (Sandbox Code Playgroud)

之后,我将构建列表:

ImmutableList<Item> list = builder.build();
Run Code Online (Sandbox Code Playgroud)