jac*_*yin 5 java generics lambda interface
@FunctionalInterface
public interface GenericFunctionalInterface {
public <T> T genericMethod();
}
Run Code Online (Sandbox Code Playgroud)
我有@FunctionalInterface,它有一个通用的方法.
如何使用和Lambda表达式来表示此接口?
我尝试下面的代码,但它不起作用,
GenericFunctionalInterface gfi = () -> {return "sss";};
Run Code Online (Sandbox Code Playgroud)
我遇到了编译错误:非法的lambda表达式:GenericFunctionalInterface类型的方法genericMethod是通用的
我在哪里可以放置类型信息?
通用(非遗传)类型参数应在接口级别声明,而不是在方法级别:
public interface GenericFunctionalInterface<T> {
public T genericMethod();
}
GenericFunctionalInterface<String> gfi = () -> {return "sss";};
Run Code Online (Sandbox Code Playgroud)