gpt4 book ai didi

java - 从 Function 使用 compose() 或 andThen() 时返回对象

转载 作者:行者123 更新时间:2023-11-30 06:51:54 28 4
gpt4 key购买 nike

为了测试功能接口(interface) Function 的 compose() 和 andThen() 方法,我做了一个简单的代码:

public class Test {    
public Trans testCompose() {
return new T1().compose(new T2());
}
}

interface Trans extends Function<File, File> {
}

class T1 implements Trans {
@Override
public File apply(File file) {
return null;
}
}

class T2 implements Trans {
@Override
public File apply(File file) {
return null;
}
}

但是如您所见,这段代码无法编译。给定原因:不存在类型 variable(v) V 的实例,因此 Function 符合 Trans。

正在关注 multiple subjects关于通配符中 extends 和 super 的区别我理解它们在列表中的使用,但不太确定为什么它不能在这里编译。

有没有办法在 testCompose() 方法中继续返回一个对象 Trans ,或者它是否必须返回一个函数来让代码编译?

最佳答案

不,此代码不正确。 testCompose() 返回的对象不执行 Trans ;它是一个匿名的 lambda 辅助类型,不能转换为 Trans .

testCompose()方法应声明为返回 Function<File, File> ,因为这是唯一实现的接口(interface)。

关于java - 从 Function<V, R> 使用 compose() 或 andThen() 时返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39756721/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com