Я пытаюсь использовать отражения, чтобы определить во время выполнения, какой метод должен быть вызван.
Я использовал приведенный ниже фрагмент кода для реализации того же:
private Method getSetterMethod(Object tempVar, Object genericDTO, String field) {
Method getterMethod1 = null;
if(tempVar instanceof String)
getterMethod1 = genericDTO.getClass().getMethod("set" + field.substring(0, 1).toUpperCase() + field.substring(1), String.class);
else if(tempVar instanceof Integer)
getterMethod1 = genericDTO.getClass().getMethod("set" + field.substring(0, 1).toUpperCase() + field.substring(1), Integer.class);
else if(tempVar instanceof String[])
getterMethod1 = genericDTO.getClass().getMethod("set" + field.substring(0, 1).toUpperCase() + field.substring(1), String[].class);
else if(tempVar instanceof Boolean)
getterMethod1 = genericDTO.getClass().getMethod("set" + field.substring(0, 1).toUpperCase() + field.substring(1), Boolean.class);
return getterMethod1;
}
}
Решение принимается на основе tempVar. Я хотел иметь возможность возвращать String.class напрямую из tempVar, чтобы избежать нескольких блоков if-else-if.
Прямо сейчас tempVar.getClass () возвращает только String. Есть ли метод, который выводит что-то вроде String.class вместо просто String.