java - OpenCSV - 注册自定义转换器

标签 java enums javabeans opencsv

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

我正在查看代码,看来我需要完全实现一个新的映射策略来设置自定义转换器。有更好的方法吗?

当前的转换代码:

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

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

最佳答案

好的,原来有一个 @CsvCustomBindByName(column = 'foo', converter = Bar.class)

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

关于java - OpenCSV - 注册自定义转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51035923/

相关文章:

java - XML 不会加载 TestNG Java 类

java - Neo4j 在 Java 嵌入式中的高可用性模式

python - Python 中嵌套类似枚举的类

c++ - 为什么限定名称查找会找到一个无作用域的枚举器?

java - 如何使用现有库创建 Spring Bean

java - 为什么 Java Bean 被称为 "beans"?

java - 如何在 DB2 中插入带有单撇号的值

Java ImageIO.write 正在对灰度图像进行着色

c - 为什么匿名枚举不符合 MISRA C 2012 规则 10.3 而命名枚举不符合?

Java:通过反射访问对象的bean类型方法