gpt4 book ai didi

java - 接受并返回相同类型的通用函数接口(interface)

转载 作者:行者123 更新时间:2023-12-02 02:09:01 24 4
gpt4 key购买 nike

我正在寻找一个满足以下两个要求的功能接口(interface):

  • 应该接受并返回相同的类型
  • 在 FunctionInterface 上调用方法时应推断类型

如果需求只是第一个,我可以创建一个简单的FunctionalInterface,如下所示:

@FunctionalInterface 
public interface MonoFunction<T> {
T apply (T arg);
}

但是,这需要在使用接口(interface)时指定类型。但是,我希望推断出类型。类似于下面的伪代码:

class A {
int a;
}

class B {
int b;
}

public static void main (String[] args) {
A a;
B b;

MonoFunction foo = (obj) -> {
system.out.println (obj)
return obj;
};

a = foo.apply (new A());
b = foo.apply (new B());
}

我如何实现这样的目标?

最佳答案

您可以使用 UnaryOperator<T> 但您必须事先定义您期望的类型。

UnaryOperator<A> foo = a -> {
system.out.println(a);
return a;
};

否则,只需将结果转换为变量类型:

a = (A) foo.apply (new A());
b = (B) foo.apply (new B());

关于java - 接受并返回相同类型的通用函数接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50304207/

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