我这样做:Lambda只能与功能界面一起使用吗?
public class LambdaConflict
{
public static void main(String args[]){
//*
System.out.println(LambdaConflict.get(
(str) -> "Hello World!! By ME?"
));
/*/
System.out.println(LambdaConflict.get(new Intf<String>(){
@Override public String get1(String str){
return "Hello World!! By get1 " + str;
}
}));
/*****/
}
public static String get(Intf<String> i, boolean b){
return i.get1("from 1");
}
}
interface Intf<T>
{
public T get1(T arg1);
public T get2(T arg1);
}
,并得到此异常:
不兼容的类型:INTF不是一个功能界面在界面中发现INTF 注 多个非压倒一切的抽象方法:有些邮件被简化了;与-Xdiags重新编译:冗长获得 全输出 1错误
是否有我不能使用lambda来代替匿名类的情况?
_overcome_ it是什么意思?你明白错误吗? –
1)功能接口只能有1个方法。 2)他们必须注释@FunctionalInterface –
功能接口也被称为SAM类型(单一抽象方法类型)。所以,你的功能界面只能有一个抽象方法。 –