2016-10-22 9 views
0

中に無名関数にparamenterを渡す私は、Java 8でこれを実装することはできないんだけど、それは簡単な無名関数は、Java 8:コール

// definde 
Runnable callback = (param) -> { 
    for(int i = 0; i < param; i++) { 
     System.out.println(i); 
    } 
}; 

// call consume it 
callback.run(10); 
ある
+1

'for'ループは' IntStream.range(0、param).forEach(System.out :: println);と書くこともできます。 – 4castle

+0

Java 1.0から 'Runnable'が存在します。すべてのJava開発者は、 'run()'メソッドが引数を受け付けないことを知っている必要があります。これはJava 8に関係しません。 – Holger

答えて

3

Runnableはパラメータを取りますが、IntConsumerいません。

IntConsumer callback = (param) -> { 
    for (int i = 0; i < param; i++) { 
     System.out.println(i); 
    } 
}; 

callback.accept(10); 

また、other functional interfaces in Java 8を閲覧することもできます。