"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
注释使用得太早了 - 因为没有可用的替代用法。
我正在使用 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
注释使用得太早了 - 因为没有可用的替代用法。