public class LambdaTest
{
public static void main(String[] args)
{
IntConsumerTest.repeat(10, (i)->System.out.println("cutdown:"+(9-i)));
}
}
import java.util.function.*;
public class IntConsumerTest
{
public static void repeat(int n,IntConsumer action)
{
for(int i=0;i<n;i++)
action.accept(i);
}
}
问题:IntConsumer是一个函数式接口,action是一个接口变量,如下的语句:action.accept(i);却能正确执行,给人的感觉是一个对象调用了方法,这是什么用法?