0

我必须处理一个仅接受 Object 作为参数的外部库。像这样的方法签名:ExternalObj.setValue(Object object)

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

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?

4

0 回答 0