OpenCSV - 注册自定义转换器

Kri*_*ngs 6 java enums javabeans opencsv

所以我使用 opencsv 将 csv 转换为 bean。这一切都适用于原始值,但我想使用枚举,这会带来一些问题。

我正在浏览代码,似乎我需要完全实现一个新的映射策略来做到这一点,只是为了设置一个自定义转换器。有没有更好的方法呢?

转换的当前代码:

CsvToBean<MyType> csvBean = new CsvToBeanBuilder<MyType>(new FileReader(csvFile))
                 .withType(MyType.class)
                 .withIgnoreLeadingWhiteSpace(true)
                 .withFieldAsNull(CSVReaderNullFieldIndicator.EMPTY_QUOTES)
                 .build();
Run Code Online (Sandbox Code Playgroud)

我在 2012 年发现了一些与此相关的问题,但答案不再适用于当前的 opencsv 版本 (4.2)。

Kri*_*ngs 7

好吧,事实证明有一个 @CsvCustomBindByName(column = 'foo', converter = Bar.class)

完全符合我的要求的注释。这个类只需要是类型<T> extends AbstractBeanField<T>