null安全替代ArrayList.addAll

时间:2016-05-08 10:51:16

标签: java apache-commons

我需要安全地将一个集合(可以为NULL)添加到另一个集合。

在Apache Commons中有任何替代方法,以避免实现我自己的自定义方法,如下所示:

public static <E> void addAllIfNotNull(List<E> list, Collection<? extends E> c) {
    if (c != null) {
        list.addAll(c);
    }
}

我需要以下情况:

我有一个方法:

@Override
public CardPair createWithRandomCards(Board board, List<Long> exludeCardCategoryIds, List<Long> exludeCardIds) {
    if (board == null) {
        throw new EntityNotFoundException(ErrorMessage.BOARD_NOT_FOUND);
    }

    exludeCardIds = CollectionUtils.addAllIfNotNull(getCardIds(board), exludeCardIds);

...
}

我在代码中的某个地方使用了这个方法:

cardPair = boardCardService.createWithRandomCards(currentBoard, null, null);

exludeCardCategoryIdsexludeCardIds - 有时可能为null,在这种情况下,我不想为它们创建虚拟空集合。

目标是避免NULL的冗余条件并将它们移出到util方法。

这个api有什么问题?

0 个答案:

没有答案