我有以下通用方法。
public class MyClass
{
public <T extends MyObject> T getResult(Class<T> class, String id){
//Have some logic
}
}
由于它是一种通用方法,我需要传递哪种参数?
我的意思是我需要将哪些参数传递给方法?
谢谢!
答案 0 :(得分:2)
你需要一些扩展MyObject的类:
class A extends MyObject { ... }
如果你有这个,你可以这样调用方法:
A a = myClass.getResult(A.class, "id");
你得到A的实例。
您也可以跳过创建A类并直接使用MyObject,因为约束<T extends MyObject>
使T
匹配每个扩展MyObject的类,包括MyObject本身。
答案 1 :(得分:0)
鉴于此定义
public <T extends MyObject> T getResult(Class<T> class, String id)
您需要传递类型的Object(或MyObject和String的子类型)的类。像getResult(MyObject.class, "pickles");
这样的东西。然后该方法必须返回MyObject(或子类)的实例。
答案 2 :(得分:0)
您可以调用以下方法
MyObject result = getResult(MyObject.class, "myId");
以下是您的方法getResult
MyObject
MyObject
的对象。