当只允许Object时,将Function作为Paramter传递。像外部库一样

时间:2016-11-10 12:20:13

标签: java eclipse java-8 functional-interface

我要处理一个只接受Object as Parameter的外部库。 像这样的方法签名:ExternalObj.setValue(Object object)

我的问题是为什么我需要下面的stupidWrapper?

public class FuntionTest {

    public class Foo{
    private Object thing;
    public void setObject(Object thing){
        this.thing=thing;
    }
    public void call(){
        ((Function)thing).apply("FOOO");
    }

    public <R,T> Function<R,T> stupidWrapper(Function<R,T> function){
        return function;
    }
}


@Test
public void testFunction(){
    Foo foo = new Foo();
    foo.setObject(
      foo.stupidWrapper(
         (baz) -> { 
                    System.out.println(baz);
                    return null;
                   })); 
    foo.call();
}

为什么我不能直接使用lamba?

0 个答案:

没有答案