Направление выбора архитектур для & ldquo; генерация естественного языка & rdquo; проблемы

Вот рабочее решение:

@SuppressWarnings("unchecked")
private Class<T> getGenericTypeClass() {
    try {
        String className = ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0].getTypeName();
        Class<?> clazz = Class.forName(className);
        return (Class<T>) clazz;
    } catch (Exception e) {
        throw new IllegalStateException("Class is not parametrized with generic type!!! Please use extends <> ");
    }
} 

ПРИМЕЧАНИЯ: Может использоваться только как суперкласс

  1. Должен быть расширен с помощью типизированного класса (Child extends Generic<Integer>)

OR

  1. Должен быть создан как анонимная реализация (new Generic<Integer>() {};)
-1
задан Arman Didandeh 14 July 2018 в 01:15
поделиться