下划线与驼峰互转(数据库字段转驼峰式命名)

本文介绍了一款实用工具,能够实现数据库字段与驼峰命名方式之间的相互转换。该工具适用于日常开发中经常遇到的命名转换需求,提供源码及测试案例。

一、前言

大家在日常开发过程中,肯定遇到过需要将数据库字段读出,转换为驼峰式,或者将驼峰式反解析到数据库字段的场景,小编在写代码生成工具类时,编写了驼峰与数据库字段下划线互转功能,各位可以拿走直接使用。

二、源码

2.1 下换线转驼峰

 /**
     * 下划线格式字符串转换为驼峰格式字符串
     *
     * @param param
     * @return
     */
    public static String underlineToHump(String param) {
        //为空则返回
        if (param == null || "".equals(param.trim())) {
            return "";
        }
        //全部转换为小写
        param = param.toLowerCase();
        //返回值
        StringBuilder sb = new StringBuilder("");
        //不包含直接返回
        if (!param.contains("_")) {
            return param;
        }
        String arrays[] = param.split("");
        //循环处理
        for (int i = 0; i< arrays.length; i++){
            //读取当前的字符
            String s = arrays[i];
            //如果当前字符为下划线,则替换下一个字符为大写
            if(s.equals("_")){
                int nextStep = i + 1;
                if(nextStep <=arrays.length){
                    String next = arrays[nextStep];
                    next = next.toUpperCase();
                    arrays[nextStep] = next;
                }
            }else{
                sb.append(s);
            }
        }
        return sb.toString();
    }

2.2 驼峰转为下划线

    /**
     * 驼峰转下划线
     * @param param
     * @return
     */
    public static String humpToUnderLine(String param){
        //为空则返回
        if (param == null || "".equals(param.trim())) {
            return "";
        }
        //返回值
        StringBuilder sb = new StringBuilder("");
        //拆分
        String arrays[] = param.split("");
        //循环处理
        for (int i = 0; i< arrays.length; i++){
            //取当前字符
            String current = arrays[i];
            //转为大写
            String temp = current.toUpperCase();
            //两个相等时,则在之前拼接下划线
            if(temp.equals(current)){
                sb.append("_").append(temp);
            }
            else{
                //直接拼接字符
                sb.append(temp);
            }
        }
        return sb.toString();
    }

2.3 代码测试

    public static void main(String[] args) {
        //初始变量
        String underLine = "USER_SYS_CODE";
        String hump = underlineToHump(underLine);
        String underLineResult = humpToUnderLine(hump);
        System.out.println(hump);
        System.out.println(underLineResult);
    }

2.4 效果如下

 

三、结尾

后续会更新更多小工具代码使用,大家觉得不错的可以关注下我的公众号,拜托啦

å¾ç

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT小白架构师之路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值