1
我正在做一些xml文件的手动反序列化。我需要将xml文件中的所有值(即字符串)转换为适当的类型。自动将字符串转换为动态确定的类型?
我对通过反射在我对象的XML标记的名称相匹配的Field
得到适当的类型。
现在,我使用的代码是有点丑:
Field matchedField = getMatchingField(getNodeName(node));
Class<?> type = matchedField.getType();
if (Integer.class.isAssignableFrom(type))
{
return Integer.parseInt(parseNode(node));
}
else if (Double.class.isAssignableFrom(type))
{
return Double.parseDouble(parseNode(node));
}
else if // ... etc for all the types I am using
是否有办法来自动完成这一过程?例如:
return ConvertToType(type, parseNode(node));
看来C#有这样的东西,Java有类似的工具吗?
这不是必须对自定义类型进行扩展。我可以手动进行自定义类型的转换。