我有以下代码:
fieldsToFilter.stream()
.map(e -> Arrays.asList(
Filters.ne(e, ""),
Filters.exists(e, true)
))
.toArray(Bson[]::new))
执行时,我得到java.lang.ArrayStoreException: java.util.Arrays$ArrayList
Filters.exists
和Filters.ne
返回新的Bson实例。见docs。
任何帮助表示赞赏
您可以使用flatMap
而不是map
和
Stream.of
而不是Arrays.asList
Bson[] result = fieldsToFilter.stream()
.flatMap(e -> Stream.of(Filters.ne(e, "") , Filters.exists(e, true)))
.toArray(Bson[]::new);