Я столкнулся с проблемой в моем проекте: у меня есть 3 класса (B, C, D), которые расширяют другой класс (A), и я хочу иметь единственный метод, который отображает строку в один из них 3 класса.
Я придумал следующее решение:
public MySuperclass mapDynamicallyToObject(String stringObject, Object theClass) {
return new ObjectMapper()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true)
.readerFor(theClass.getClass())
.readValue(stringObject);
}
Но оно не работает во время выполнения.
Читая документы Oracle, Я подумал, что с помощью метода Object .getClass () JVM сможет определить во время выполнения истинную природу объекта и отобразить на нем строку.
Где я нахожусь ошибаетесь? Сталкивались ли вы с подобной проблемой? Как вы подошли к этому?
Кстати, я только изучаю Generics, и мне бы хотелось использовать его здесь, а не «Object theClass», но он не распознал букву T как универсальный c.
Ps, если это может помочь, я использую Spring Boot.
Заранее всем спасибо за любую помощь!