我们正在使用OpenCSV将CSV文件映射到Java Bean。我想将所有String值设置为uppar case,同时将其映射到Java bean 假设CSV包含以下行
abc, 123, def, 123abc
在将其映射到bean时,应将其转换为
ABC, 123, DEF, 123abc
我可以使用反射并获得所需的结果。但是正在通过OpenCSV寻找解决方案或者Apache Bean Utils中是否有任何功能或任何其他类似的库转换来自bean的所有String字段大写?
答案 0 :(得分:2)
使用重写的CsvToBean
实现:
CsvToBean<BeanType> csv2Bean = new CsvToBean<BeanType>() {
@Override
protected Object convertValue(String value, PropertyDescriptor prop) {
return super.convertValue(value.toUpperCase(), prop);
}
};
List<BeanType> beanList = csv2Bean.parse(mappingStrategy, csvReader);
答案 1 :(得分:1)
if (StringUtils.isAlpha(value))
{
System.out.print("With uppercase " + StringUtils.upperCase(value));
}
else // with number or anything with the word
{
System.out.print("Without uppercase " + value);
}
或
System.out.println(""+(StringUtils.isAlpha(value) ? StringUtils.upperCase(value) : value));