У меня есть строка, которая может быть типа Double или Integer или какого-либо другого типа. Сначала мне нужно создать объект Double или Integer, а затем отправить его перегруженному методу. Вот мой код до сих пор;
public void doStuff1(object obj, String dataType){
if ("Double".equalsIgnoreCase(dataType)) {
doStuff2(Double.valueOf(obj.toString()));
} else if ("Integer".equalsIgnoreCase(dataType)) {
doStuff2(Integer.valueOf(obj.toString()));
}
}
public void doStuff2(double d1){
//do some double related stuff here
}
public void doStuff2(int d1){
//do some int related stuff here
}
Я хотел бы сделать это без if/else, с чем-то вроде этого;
Class> theClass = Class.forName(dataType);
Проблема в том, что 'theClass' по-прежнему не может быть приведен ни к типу double, ни к типу int. Буду благодарен за любые идеи. Спасибо.
Найдена связанная тема; Перегрузка в Java и множественная диспетчеризация