我有一个遗留类,其中所有字段都声明为字符串并绑定(bind)到 UI 字段,以便它可以接受用户输入。但在某些情况下,用户可以为几个字段输入数字值,这些值也会存储到字符串中。 现在我需要根据字段对对象进行排序。我正在尝试使用反射来使其在整个模块中通用。对于上述场景,我从前端传递数据类型名称并尝试按如下方式动态转换
private static Object typeCastAs(String type, Object obj){
Object result = null;
try{
Class _Class = Class.forName(type);
Object obj1 = (Object) obj;
result = _Class.cast(obj1);
}
catch(ClassNotFoundException ignore){
System.out.println("Catch exception");
}
return result;
}
但是当我尝试将其类型转换为整数时,它会抛出ClassCastException,因为实际值存储在字符串中,即使它是整数 是否有任何替代解决方案来满足此要求
最佳答案
您必须使用Integer.valueOf(String s)
将String
解析为Integer
.
Integer i = Integer.valueOf(string);
这不能通过反射来完成,必须编写逻辑。
关于java - 如何将字符串动态转换为其他类型java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29668024/