这是什么意思;此方法不推荐使用,因为用户应使用Java 5约定;?
我使用的是这是什么意思;此方法不推荐使用,因为用户应使用Java 5约定;?,java,conventions,opencsv,Java,Conventions,Opencsv,我使用的是opencvs库的“ColumnPositionMappingStrategy”类。 此类的方法已弃用方法setType(类类型)以及注释中的“此方法已弃用,因为用户应使用Java 5约定” 据我所知,我必须使用泛型而不是setType,如: ColumnPositionMappingStrategy<MyClass> mappingStrategy = new ColumnPositionMappingStrategy<>(); 错误: java.lang.
opencvs
库的“ColumnPositionMappingStrategy”类。
此类的方法已弃用
方法setType(类类型)
以及注释中的“此方法已弃用,因为用户应使用Java 5约定”
据我所知,我必须使用泛型而不是setType,如:
ColumnPositionMappingStrategy<MyClass> mappingStrategy = new ColumnPositionMappingStrategy<>();
错误:
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重构此类以使用T而不是getType。
-意味着@Deprecation
注释使用得太早了-因为没有其他可用的用法。实现依赖于类型,方法是调用:
public T createBean() throws InstantiationException, IllegalAccessException {
return type.newInstance();
}
像这样的一些注释-
要重构这个类以使用T而不是getType。
-意味着@Deprecation
注释使用得太早了-因为没有其他可用的用法。从何处获得NullPointerException
?另一种计算“该做什么”的方法。。。转向该类的源代码;看看“setType()”到底在做什么。然后检查该类的接口,寻找“相同”的替代方法。@PaulRuane请查看问题中的错误。@EddyGHeaderColumnNameMappingStrategy
具有使用class type
实例化该类的方法createBean,type
是由不推荐使用的setType
方法设置的。从哪里可以获得NullPointerException
?另一种计算“要做什么”的方法。。。转向该类的源代码;看看“setType()”到底在做什么。然后检查该类的接口,寻找“相同”的替代方法。@PaulRuane请查看问题中的错误。@EddyGHeaderColumnNameMappingStrategy
具有使用class type
实例化该类的方法createBean,type
由已弃用的setType
方法设置。