我想为一个java变量做动态转换,铸造类型存储在一个不同的变量。
这是正常铸造:
String a = (String) 5;
这是我想要的:
String theType = 'String';
String a = (theType) 5;
可能吗?如果是这样怎么办?谢谢!
更新
我试图填充一个类,我收到一个hashMap。
这是构造函数:
public ConnectParams(HashMap obj) {
for (Map.Entry 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被接收,它看到它作为整数和我有类型的问题。