java中带下划线命名和驼峰命名互相转换

Java中带下划线命名和驼峰命名互相转换

  项目开发过程中经常会遇到页面上传回来的参数或者请求接口返回的参数是带下划线的,所以需要对参数进行转换以方便我们的使用,在这里记录下下划线命名和驼峰名相互转换。

驼峰转换为下划线

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

public static String underscoreName(String camelCaseName) {
StringBuilder result = new StringBuilder();
if (camelCaseName != null && camelCaseName.length() > 0) {
result.append(camelCaseName.substring(0, 1).toLowerCase());
for (int i = 1; i < camelCaseName.length(); i++) {
char ch = camelCaseName.charAt(i);
if (Character.isUpperCase(ch)) {
result.append("_");
result.append(Character.toLowerCase(ch));
} else {
result.append(ch);
}
}
}
return result.toString();
}

下划线转换为驼峰

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

public static String camelCaseName(String underscoreName) {
StringBuilder result = new StringBuilder();
if (underscoreName != null && underscoreName.length() > 0) {
boolean flag = false;
for (int i = 0; i < underscoreName.length(); i++) {
char ch = underscoreName.charAt(i);
if ("_".charAt(0) == ch) {
flag = true;
} else {
if (flag) {
result.append(Character.toUpperCase(ch));
flag = false;
} else {
result.append(ch);
}
}
}
}
return result.toString();
}

测试结果

1
2
3
4
5
6
7
8
9

public static void main(String[] args) {
System.out.println("下划线转驼峰:" + camelCaseName("user_name"));
System.out.println("驼峰转下划线:" + underscoreName("userName"));
}


下划线转驼峰:userName
驼峰转下划线:user_name
0%