如何将对象强制转换为getClass()返回的类

时间:2011-10-23 20:38:15

标签: java generics casting

ProtostuffIOUtil.mergeFrom(data,o,RuntimeSchema.getSchema(o.getClass()));

如何将Object转换为getClass()类。使用上面的方法调用,我将得到一个编译错误,因为该方法要求o变量与o.getClass()参数属于同一个类。如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

Class clazz = o.getClass();
ProtostuffIOUtil.mergeFrom(data, clazz.cast(o), RuntimeSchema.getSchema(clazz));

答案 1 :(得分:1)

使用cast()方法将对象从getClass()投射到类:

myObj.getClass().cast(myObj)