"This method is deprecated as the user should use the Java 5 conventions." 是什么意思?

What does this mean "This method is deprecated as the user should use the Java 5 conventions."?

我正在使用 opencvs 库的 "ColumnPositionMappingStrategy" class。 此 class 具有 deprecated 方法 setType(Class<T> type) 并且评论中有“此方法已弃用,因为用户应使用 Java 5 约定

据我所知,我必须使用泛型而不是 setType,例如:

ColumnPositionMappingStrategy<MyClass> mappingStrategy = new ColumnPositionMappingStrategy<>();

解决问题。但是当我删除行时我得到 NullPointerException:

mappingStrategy.setType(MyClass.class);

错误:

java.lang.RuntimeException: Error parsing CSV!
at com.opencsv.bean.CsvToBean.parse(CsvToBean.java:95)
at com.opencsv.bean.CsvToBean.parse(CsvToBean.java:75)
at csv_import.ReadCsvFile.readRecordData(ReadCsvFile.java:40)
at app.Application.main(Application.java:30)

Caused by: java.lang.NullPointerException
at com.opencsv.bean.HeaderColumnNameMappingStrategy.createBean(HeaderColumnNameMappingStrategy.java:170)
at com.opencsv.bean.CsvToBean.processLine(CsvToBean.java:117)
at com.opencsv.bean.CsvToBean.processLine(CsvToBean.java:101)
at com.opencsv.bean.CsvToBean.parse(CsvToBean.java:91)
... 3 more

我该怎么做才能解决这个问题?

实现依赖类型调用:

public T createBean() throws InstantiationException, IllegalAccessException {
  return type.newInstance();
}

像这样的一些评论 - TODO refactor this class to use T instead of getType. - 暗示 @Deprecation 注释使用得太早了 - 因为没有可用的替代用法。