如何在普通数组上执行Lambda表达式和forEach?

时间:2016-02-29 03:55:11

标签: java arrays lambda

我经常打印我的ArrayLists,例如

colors.forEach(color -> System.out.printf("color: %s ", color));

但我不知道如何将其应用于普通数组(String[] colors)。

如何将此表达式应用于普通数组?

2 个答案:

答案 0 :(得分:2)

基本上,您需要一种在阵列上执行Stream操作的方法。它就像将数组转换为流一样简单:

    Arrrays.stream(colors).forEach(color -> System.out.printf("color: %s ", color));

有关详细信息,请参阅Java 8 Stream and operation on arrays

答案 1 :(得分:1)

Arrays类包含用于操作数组的各种方法,包括静态stream()方法,该方法返回以指定数组作为源的顺序Stream。对于您的示例,您可以使用以下代码:

Arrays.stream(colors).forEach(color -> System.out.printf("color: %s ", color));