java - 如何将字符串动态转换为其他类型java

标签 java

我有一个遗留类,其中所有字段都声明为字符串并绑定(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/

相关文章:

java - 使用 urlconnection 发送 cookie

java - 从 Java/Groovy 中的字符串中获取前导字母字符

Java RSA 加密不断生成无法解密的输出?

java - GroovyTemplate作为SpringMVC的 View 技术,可以创建JSON吗?

java - 使用 apache 数学获取分数的百分位数

java - 如何将 int[][] 字符串转换为 List<List<Integer>>

java - Groovy 可以复制类签名但修改实现吗

java - 如何检查自定义集合中元素的java数据类型?

java - JMeter JunitSampler 无法找到带有字符串参数的构造函数

java - 尝试将 int 转换为 que 中的字符