gpt4 book ai didi

java - 如何实现接口(interface)泛型方法

转载 作者:行者123 更新时间:2023-11-30 08:16:17 25 4
gpt4 key购买 nike

例如,如何使用泛型方法实现非泛型接口(interface)的字符串类型?

这是界面:

// non-generic-class
interface I{

public <T> T doI(T t);

}

最佳答案

所有<T>在此界面中的意思是类型 T传递给该方法的类型与 T 相同从方法返回。

实现需要使用符号 T,就像它是一个类一样

public <T> T doI(T t){
Object a = t.getClass().newInstance();
return (T) a;
}

然后你可以用类似的东西来调用它

I obj = getIImplementer ();
String a = obj.doI ("ssssssss");

编译器知道它可以从传递的对象类型推断返回类型。

如果您想实现特定版本,则需要将通用参数放在接口(interface)而不是方法上,以便您可以键入实现类以及方法参数。

关于java - 如何实现接口(interface)泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29618425/

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