Итак, у меня есть класс перегруженных методов, таких как:
class Foo {
public void test(Object value) {
...
}
public void test(String value) {
...
}
}
Мне нужно передать значение свойства бина одному из этих методов в зависимости от его типа, но я не знаюфактический тип свойства до времени выполнения.Например,
public void run(Object bean, String propertyName) {
Foo foo = new Foo();
foo.test(PropertyUtils.getProperty(bean, propertyName));
}
Кстати, PropertyUtils.getProperty()
- это вспомогательный метод, который возвращает значение указанного свойства в компоненте.PropertyUtils.getProperty()
возвращает объект, так что test(Object value)
будет вызываться всегда, а фактический тип свойства будет игнорироваться.
Я могу выяснить тип свойства во время выполнения, даже если его значение равно нулю.Есть ли такая вещь, как динамическое приведение в Java?Если нет, есть ли способ получить перегруженный метод с правильным типом параметра с именем?