2016-02-29 68 views
0

我通常打印我的ArrayList如如何在普通數組上執行Lambda表達式和forEach?

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

但我有點不能將此應用到正常陣列(String[] colors)。

如何將此表達式應用於普通數組?

+1

你有沒有嘗試過這樣的:'Stream.of(顏色).forEach(的System.out ::的println) '。如果您使用的是printf,則需要將其設置爲'Stream.of(colors).forEach(color - > System.out.printf(「color:%s」,color)' – Prashant

+1

爲什麼使用流呢? * more *比for循環冗長:'for(String color:colors)System.out.printf(「color:%s」,color);' – Andreas

+0

這是一個示例,我在哪裏應用它,它是不詳細。 –

回答

1

Arrays類包含各種操作數組的方法,包括靜態stream()方法,該方法返回指定數組作爲其源的順序Stream。舉個例子,你可以使用下面的代碼:

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

基本上你需要一種方法來對數組執行流操作。它是那麼簡單,你的數組轉換到一個流:

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

欲瞭解更多信息這一看Java 8 Stream and operation on arrays

相關問題