我想澄清一下我对@FunctionalInterface的理解。据我所知,我们可以在只有一个抽象方法的接口上添加@FunctionalInterface注释(尽管它可以有多个默认和静态方法。在Java 8中,Comparator<T>接口被标记为@FunctionalInterface,因此它可以在Lambda表达式中使用,但是当我打开定义时,我可以看到那里有两个抽象类
int compare(T o1, T o2);和b
我正在学习Java lambda,我问自己,如果我想在这里使用lambda,是否总是需要调用函数接口的抽象方法?@FunctionalInterface public void somefunction();publicb.somefunction(); //Why do I need to call somefunction()}
如果我不编写b.somefuncti
最近,我开始了一个新项目,在这个项目中,使用单个抽象方法的所有接口都是用@FunctionalInterface进行分析的。我经常看到在接口中添加了另一个抽象方法之后,人们会删除注释。现在,我不确定对显然不会与lambdas一起使用的接口进行注释是否是个好主意。@FunctionalInterface
public i