从Arrays.asList转换为Array

问题描述 投票:2回答:1

我有以下代码:

fieldsToFilter.stream()
    .map(e -> Arrays.asList(
        Filters.ne(e, ""),
        Filters.exists(e, true)
     ))
     .toArray(Bson[]::new))

执行时,我得到java.lang.ArrayStoreException: java.util.Arrays$ArrayList

Filters.existsFilters.ne返回新的Bson实例。见docs

任何帮助表示赞赏

java java-8 mongodb-query java-stream bson
1个回答
6
投票

您可以使用flatMap而不是map

Stream.of而不是Arrays.asList

Bson[] result = fieldsToFilter.stream()
                   .flatMap(e -> Stream.of(Filters.ne(e, "") , Filters.exists(e, true)))
                   .toArray(Bson[]::new);
© www.soinside.com 2019 - 2024. All rights reserved.