实施例
在这个(简化的)示例中,我可以使用String[] tokens = sCurrentLine.split("&");
for(String token : tokens){
System.println(token.split("=")[1]);
}
的方法引用创建我的MyInterface
- 对象,但直接转换不起作用。
apply
第二个赋值给编译器错误:
@Test
public void testInterfaceCast(){
Function<String, Integer> func = Integer::parseInt;
MyInterface legal = func::apply; // works
MyInterface illegal = func; // error
}
public interface MyInterface extends Function<String, Integer>{}
问题
我可以做一些泛型魔法,能够将incompatible types: Function<String,Integer> cannot be converted to MyInterface
转换为接口吗?