我想对Java变量进行动态强制转换,强制转换类型存储在另一个变量中。
这是常规的造型:
String a = (String) 5;
这就是我想要的:
String theType = 'String';
String a = (theType) 5;
这是可能的吗?如果是的话,是如何实现的?谢谢!
更新
我正在尝试用我收到的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());
}
}
}
这里的问题是,类的一些变量是Double
类型的,如果接收到数字3,它会将其视为Integer
,而我的类型是problem。
https://stackoverflow.com/questions/2127318
复制相似问题