将java.util.function.Function转换为Interface

时间:2015-08-27 07:05:39

标签: java java-8 method-reference

实施例

在这个(简化的)示例中,我可以使用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 转换为接口吗?

0 个答案:

没有答案