Я хотел бы сделать динамическое кастинг для переменной 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());
}
}
}
проблема заключается в том, что некоторые из переменных классов являются двойными, и если число 3 получено, оно видит его как Integer и у меня проблема типа.