我正在使用opencsv将csv转换为Java Bean对象。对于基本数据类型,这一切都很顺利,但是当我想要使用枚举类型时就遇到了问题。
我正在检查代码,似乎需要完全实现一个新的映射策略来设置自定义转换器。是否有更好的方法可以解决这个问题呢?
以下是当前的转换代码:
CsvToBean<MyType> csvBean = new CsvToBeanBuilder<MyType>(new FileReader(csvFile))
.withType(MyType.class)
.withIgnoreLeadingWhiteSpace(true)
.withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_QUOTES)
.build();
我发现一些2012年的问题与此相关,但答案对于当前的opencsv版本(4.2)不再适用。
MyEnum.valueOf()即可。 - Jilles van Gurp