说我有一个功能界面和Lambda以及标准用途:
interface NumericMethod{
int operation(int number);
}
NumericMethod add1 = (x) -> x+1
System.out.println(add1.operation(7))//but not (...add1(7))
所以我的问题是,为什么不简单地添加1(7)?只有一种方法可以调用。
答案 0 :(得分:0)
因为在您的代码中add1
不是方法,所以它是一个对象。如果在定义lambdas时,Java 8团队决定可以直接调用带有一个方法的类,那么在对象和方法之间的界限越来越窄的情况下,它将会留下很多混乱。