我想过滤数组的CC地址,并将其收集到同一数组中,

例如

String[] ccAddress = emails.split(";");
ccAddress = Arrays.stream(ccAddress)
                  .filter(adr -> "".equals(adr) == false)
                  .collect(Collectors.toArray);// ?????

我的问题是,“有没有直接的方法来将过滤后的元素收集到Java8中的数组”?

注意:我知道我可以简单地将它们收集到List并编写list.toArray()来获取数组,但这不是我的问题。

最佳答案

您检查了documentation吗?

您可以使用Stream.toArray方法:

String[] ccAddress = emails.split(";");
ccAddress = Arrays.stream(ccAddress)
        .filter(addr -> !addr.isEmpty())
        .toArray(String[]::new);

10-07 15:23