如何实现接口通用方法
How implement an interface Generic Method
我如何实现 non-generic-interface
和 generic 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 和方法参数。
我如何实现 non-generic-interface
和 generic 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 和方法参数。