我正在做类似下面的事情,但它返回基类而不是子类的对象。
public static BaseVo getObject(String objID, Class<? extends BaseVo> cls) {
BaseVo obj = constructObject(objID, cls);
return obj;
}
当然,实际的 obj 是子类的,返回后我可以轻松地进行类型转换。但我想找到一种方法,使每个函数在调用 getObject 后都不必进行类型转换。
最佳答案
使方法变得通用。
public static <T extends BaseVo> T getObject(String objID, Class<T> cls) {
T obj = constructObj(objID, cls);
return obj;
}
这假设 constructObj
也可以修改为返回 T
。
关于Java:返回相同类的对象(具有共同的父类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428397/