Lambda 只能与功能接口一起使用?
2022-09-02 09:15:29
我这样做了:
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:verbose 重新编译以获得完整输出 1 错误
是否有任何条件不能使用 lambda 来替换匿名类?