请看下面的方法。 有没有办法以通用的方式强制转换创建的对象,并将已强制转换的对象返回到具体的类类型,这样用户就不必自己强制转换它?
public static Object getObject(String xmlString, String fullyQualifiedClassName) throws Exception {
StringReader reader = new StringReader(xmlString);
UploadDocument doc = (UploadDocument) unmarshaller.unmarshal(reader);
Class<?> clazz = (Class<?>) Class.forName(fullyQualifiedClassName);
UploadResult result = DataUploaderUtil.createObject(doc);
if (result != null) {
Object uploadObject = result.getUploadObject();
if (uploadObject != null && clazz.isInstance(uploadObject)) {
return uploadObject;
}
}
return null;
}
最佳答案
是的,假设调用者拥有类对象(如果他们能够手动转换,他们就会这样做):
public static <T> T getObject(String xmlString, Class<T> clazz) throws Exception {
...
return (T) uploadObject;
}
调用:
Foo f = getObject(someXml, Foo.class);
关于java - 将已转换的对象返回到具体类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081208/