一个完整的 Java String
工具类,包含蛇形命名法(snake_case
)转驼峰命名法(camelCase
)以及驼峰命名法转蛇形命名法的功能。
Java String
工具类代码
public class StringUtils {
/**
* 将蛇形命名法(snake_case)转换为驼峰命名法(camelCase)
*
* @param snakeCaseStr 蛇形命名的字符串
* @return 驼峰命名的字符串
*/
public static String toCamelCase(String snakeCaseStr) {
if (snakeCaseStr == null || snakeCaseStr.isEmpty()) {
return snakeCaseStr;
}
StringBuilder camelCaseStr = new StringBuilder();
boolean nextUpperCase = false;
for (char c : snakeCaseStr.toCharArray()) {
if (c == '_') {
nextUpperCase = true; // 下一个字符需要大写
} else {
if (nextUpperCase) {
camelCaseStr.append(Character.toUpperCase(c)); // 大写当前字符
nextUpperCase = false; // 重置标志
} else {
camelCaseStr.append(c); // 保持当前字符不变
}
}
}
return camelCaseStr.toString();
}
/**
* 将驼峰命名法(camelCase)转换为蛇形命名法(snake_case)
*
* @param camelCaseStr 驼峰命名的字符串
* @return 蛇形命名的字符串
*/
public static String toSnakeCase(String camelCaseStr) {
if (camelCaseStr == null || camelCaseStr.isEmpty()) {
return camelCaseStr;
}
StringBuilder snakeCaseStr = new StringBuilder();
for (char c : camelCaseStr.toCharArray()) {
if (Character.isUpperCase(c)) {
snakeCaseStr.append('_').append(Character.toLowerCase(c)); // 大写转小写并添加下划线
} else {
snakeCaseStr.append(c); // 保持当前字符不变
}
}
return snakeCaseStr.toString();
}
public static void main(String[] args) {
// 测试蛇形转驼峰
String snakeCase = "user_id";
String camelCase = toCamelCase(snakeCase);
System.out.println("Snake Case: " + snakeCase);
System.out.println("Camel Case: " + camelCase);
// 测试驼峰转蛇形
String camelCase2 = "userId";
String snakeCase2 = toSnakeCase(camelCase2);
System.out.println("Camel Case: " + camelCase2);
System.out.println("Snake Case: " + snakeCase2);
}
}
功能说明
-
toCamelCase
方法:- 输入:蛇形命名法的字符串(如
user_id
)。 - 输出:驼峰命名法的字符串(如
userId
)。 - 实现逻辑:遍历字符串,遇到下划线
_
时,将下一个字符转为大写,并去掉下划线。
- 输入:蛇形命名法的字符串(如
-
toSnakeCase
方法:- 输入:驼峰命名法的字符串(如
userId
)。 - 输出:蛇形命名法的字符串(如
user_id
)。 - 实现逻辑:遍历字符串,遇到大写字母时,前面添加下划线
_
,并将大写字母转为小写。
- 输入:驼峰命名法的字符串(如
测试结果
运行 main
方法后,输出如下:
Snake Case: user_id
Camel Case: userId
Camel Case: userId
Snake Case: user_id
使用方法
- 将上述代码保存为一个工具类文件(如
StringUtils.java
)。 - 在你的项目中导入这个工具类,然后调用
StringUtils.toCamelCase
或StringUtils.toSnakeCase
方法即可完成转换。
这个工具类简单易用,不依赖任何外部库,适合在任何 Java 项目中使用!