从 Arrays.asList 转换为数组
Convert from Arrays.asList to Array
我有如下代码:
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
return 新的 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);
我有如下代码:
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
return 新的 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);