ObjectMapper | динамическое отображение c - PullRequest
1 голос
/ 25 марта 2020

Я столкнулся с проблемой в моем проекте: у меня есть 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.

Заранее всем спасибо за любую помощь!

...