Java:传递相同类(具有公共父类)的返回对象

时间:2014-08-21 14:03:08

标签: java inheritance

我正在做类似下面的事情,但它返回基类的对象而不是子类。

public static BaseVo getObject(String objID, Class<? extends BaseVo> cls) {
    BaseVo obj = constructObject(objID, cls);
    return obj;
}

当然实际的obj是子类,返回后我很容易进行类型转换。但我想找到一种方法,以便在调用getObject之后,每个函数都不必进行类型转换。

1 个答案:

答案 0 :(得分:4)

使方法通用。

public static <T extends BaseVo> T getObject(String objID, Class<T> cls) {
    T obj = constructObj(objID, cls);
    return obj;
}

这假设constructObj可以修改为返回T