绝对好用!Java 变量名蛇形转驼峰方法

   后端数据库变量为蛇形,即以下划线 _ 分割,但是前端要求返回的数据为驼峰命名,怎么办?手动改?当然是写方法转换啦~

蛇形转驼峰算法如下: 

   /***
     * 下划线命名转为驼峰命名.
     * 
     * @param para 下划线命名的字符串
     */
    private String underlineToHump(String para) {
        if (StringUtils.isBlank(para)) {
            return para;
        }
        StringBuilder result = new StringBuilder();
        String[] a = para.split("_");
        if (a.length != 1) {
            for (String s : a) {
                if (result.length() == 0) {
                    result.append(s.toLowerCase());
                } else {
                    result.append(s.substring(0, 1).toUpperCase());
                    result.append(s.substring(1).toLowerCase());
                }
            }
        } else {
            result.append(a[0].substring(0, 1).toLowerCase());
            result.append(a[0].substring(1));
        }
        return result.toString();
    }

  还不够好用?下面来封装多一层吧~

数据结构为Map

    /**
     * 蛇形转驼峰.
     * 
     * @param map map里面的key为蛇形
     * @return newMap newMap里面的key为驼峰
     */
    private  Map convertToHump(Map map) {
        Map returnMap = new HashMap<>();
        for (Entry data : map.entrySet()) {
            String key = underlineToHump(data.getKey());
            returnMap.put(key, data.getValue());
        }
        return returnMap;
    }

数据结构为 List> 时

    /**
     * 蛇形转驼峰.
     * @param datas
     * @return
     */
    protected  List> underlineToHumpList(List> datas) {
        List> tempDatas = new ArrayList>(datas.size());
        for (Map map : datas) {
            tempDatas.add(convertToHump(map));
        }
        return tempDatas;
    }

 如果是其他的话自己再作修改吧~码字不易~留个赞呗~

你可能感兴趣的:(Java常用的一些小技巧)