绝对好用!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<String,Object> 时

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

数据结构为 List<Map<String,Object>> 时

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林志鹏JAVA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值