Java-驼峰命名与下划线命名互转

Posted xieshuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-驼峰命名与下划线命名互转相关的知识,希望对你有一定的参考价值。

package com.xsh.util;

/**
 * String工具类
 *
 * @author xieshuang
 * @date 2019-05-23
 */
public class StringUtils {

    private final static String UNDERLINE = "_";

    /***
     * 下划线命名转为驼峰命名
     *
     * @param para
     *        下划线命名的字符串
     */

    public static String underlineToHump(String para) {
        StringBuilder result = new StringBuilder();
        String a[] = para.split(UNDERLINE);
        for (String s : a) {
            if (!para.contains(UNDERLINE)) {
                result.append(s);
                continue;
            }
            if (result.length() == 0) {
                result.append(s.toLowerCase());
            } else {
                result.append(s.substring(0, 1).toUpperCase());
                result.append(s.substring(1).toLowerCase());
            }
        }
        return result.toString();
    }

    /***
     * 驼峰命名转为下划线命名
     *
     * @param para
     *        驼峰命名的字符串
     */

    public static String humpToUnderline(String para) {
        StringBuilder sb = new StringBuilder(para);
        int temp = 0;//定位
        if (!para.contains(UNDERLINE)) {
            for (int i = 0; i < para.length(); i++) {
                if (Character.isUpperCase(para.charAt(i))) {
                    sb.insert(i + temp, UNDERLINE);
                    temp += 1;
                }
            }
        }
        return sb.toString().toUpperCase();
    }
}

运行结果:

testDadaDada
T_AEST_DADA_SADA

源码地址:https://github.com/xieshuang/util

以上是关于Java-驼峰命名与下划线命名互转的主要内容,如果未能解决你的问题,请参考以下文章

PHP把下划线分隔命名的字符串与驼峰式命名互转

驼峰命名和下划线命名互转php实现

Java/Spring/Jackson 驼峰-下划线字段转换

怎么用java实现驼峰命名法与数据库命名法的相互转换

java实体类驼峰命名的好处在哪里??

JAVA 小工具 驼峰命名转下划线命名 parsingCamelCaseToUnderline