相关疑难解决方法(0)

java:我如何动态地将变量从一种类型转换为另一种类型?

我想为java变量进行动态转换,转换类型存储在不同的变量中.

这是常规铸造:

 String a = (String) 5;
Run Code Online (Sandbox Code Playgroud)

这就是我要的:

 String theType = 'String';
 String a = (theType) 5;
Run Code Online (Sandbox Code Playgroud)

可能吗?如果是这样怎么样?谢谢!

更新

我正在尝试用我收到的hashMap填充一个类.

这是构造函数:

public ConnectParams(HashMap<String,Object> obj) {

    for (Map.Entry<String, Object> entry : obj.entrySet()) {
        try {
            Field f =  this.getClass().getField(entry.getKey());                
            f.set(this, entry.getValue()); /* <= CASTING PROBLEM */
        } catch (NoSuchFieldException ex) {
            log.error("did not find field '" + entry.getKey() + '"');
        } catch (IllegalAccessException ex) {
            log.error(ex.getMessage());         
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

这里的问题是一些类变量是Double类型,如果接收到数字3,它将其视为Integer,我有类型问题.

java dynamic-cast casting

72
推荐指数
6
解决办法
17万
查看次数

标签 统计

casting ×1

dynamic-cast ×1

java ×1