收集数组中的对象

时间:2015-07-17 13:28:28

标签: java java-8

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

例如

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

我的问题是,'有没有直接的方法可以在Java8中将过滤后的元素收集到数组中。 ?

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

1 个答案:

答案 0 :(得分:9)

您检查了documentation吗?

您可以使用Stream.toArray方法:

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