Поскольку я не использовал дженерики в течение некоторого времени, я довольно смущен в этом примере.Исключительное исключение указателя при работе с дженериками в java
У меня есть следующий базовый абстрактный класс:
public abstract class ExcelReader<T>{
protected T type;
protected GenericResolver resolver;
public ExcelReader(){
super();
resolver=ResolverFactory.createResolver(type.getClass());
}
}
теперь мой подкласс следующее:
public class POIReader<T> extends ExcelReader<T>{
}
//...Implementation of methods ommited for brevity
Сейчас в моей службы я создаю новый объект следующим образом:
ExcelReader<MessageDTO> reader=new POIReader<MessageDTO>();
Однако, когда конструктор ExcelReader называется атрибутом типа, имеет значение null, а в минусе ecuence бросает исключение NullPointer при создании распознавателя.
Я думаю, вы можете получить представление о том, что я пытаюсь сделать с фрагментами кода выше, и я видел примеры, используя поле атрибута для сохранения типа параметризованного класса.
Однако я очень смущен тем, почему я получаю null в атрибуте type, и как я мог его избежать. Большое спасибо.