package com.moral.util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @ClassName ConvertUtils * @Description TODO * @Author 陈凯裕 * @Date 2021/3/26 14:52 * @Version TODO **/ public class ConvertUtils { /** * @Description: 下划线转驼峰 * @Param: [underscore] * @return: java.lang.String * @Author: 陈凯裕 * @Date: 2021/3/26 */ public static String underscoreToCamelCase(String underscore) { String[] ss = underscore.split("_"); if (ss.length == 1) { return underscore; } StringBuffer sb = new StringBuffer(); sb.append(ss[0]); for (int i = 1; i < ss.length; i++) { sb.append(upperFirstCase(ss[i])); } return sb.toString(); } /** * @Description: 驼峰转下划线 * @Param: [camelCase] * @return: java.lang.String * @Author: 陈凯裕 * @Date: 2021/3/26 */ public static String toLine(String camelCase) { Pattern humpPattern = Pattern.compile("[A-Z]"); Matcher matcher = humpPattern.matcher(camelCase); StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase()); } matcher.appendTail(sb); return sb.toString(); } /** * @Description: 首字母转为小写 * @Param: [str] * @return: java.lang.String * @Author: 陈凯裕 * @Date: 2021/3/26 */ private static String lowerFirstCase(String str) { char[] chars = str.toCharArray(); chars[0] += 32; return String.valueOf(chars); } /** * @Description: 首字母转为大写 * @Param: [str] * @return: java.lang.String * @Author: 陈凯裕 * @Date: 2021/3/26 */ private static String upperFirstCase(String str) { char[] chars = str.toCharArray(); chars[0] -= 32; return String.valueOf(chars); } }