将所有字符串字段更改为大写

时间:2013-08-23 06:38:27

标签: java javabeans opencsv apache-commons-beanutils

我们正在使用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字段大写?

2 个答案:

答案 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)

试试这个,StringUtils.upperCase

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));