如何实现接口通用方法

How implement an interface Generic Method

我如何实现 non-generic-interfacegeneric method 的字符串类型?

界面如下:

// non-generic-class
interface I{

    public <T> T doI(T t);

}

此接口中的所有<T> 表示传递给该方法的类型T 与从该方法传出的类型T return 相同。

实现需要使用一些符号 T,就好像它是 class Like

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

然后你可以用

之类的东西来调用它
I obj = getIImplementer ();
String a = obj.doI ("ssssssss");

并且编译器知道它可以从传递的对象类型中推断出 return 类型。

如果你想实现一个特定的版本,你需要将通用参数放在接口上而不是方法上,这样你就可以输入实现 class 和方法参数。