Я уверен, что вы уже давно ушли, но я столкнулся с той же ситуацией, и есть два способа справиться с этим.Вы можете либо переопределить CsvToBean.convertValue, либо CsvToBean.getPropertyEditor.
Более вероятным способом является переопределение getPropertyEditor и возврат пользовательского PropertyEditor для конкретного объекта.Быстрый и грязный способ - переопределить convertValue в анонимной форме класса, например:
CsvToBean<MyClass> csvToBean = new CsvToBean<MyClass>(){
@Override
protected Object convertValue(String value, PropertyDescriptor prop) throws InstantiationException,IllegalAccessException {
if (prop.getName().equals("myWhatever")) {
// return an custom object based on the incoming value
return new MyWhatever((String)value);
}
return super.convertValue(value, prop);
}
};
Это нормально работает для меня с OpenCSV 2.3.Удачи!