Java String工具类

Gary Chen
Java String工具类

一个完整的 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);
    }
}

功能说明

  1. toCamelCase 方法

    • 输入:蛇形命名法的字符串(如 user_id)。
    • 输出:驼峰命名法的字符串(如 userId)。
    • 实现逻辑:遍历字符串,遇到下划线 _ 时,将下一个字符转为大写,并去掉下划线。
  2. toSnakeCase 方法

    • 输入:驼峰命名法的字符串(如 userId)。
    • 输出:蛇形命名法的字符串(如 user_id)。
    • 实现逻辑:遍历字符串,遇到大写字母时,前面添加下划线 _,并将大写字母转为小写。

测试结果

运行 main 方法后,输出如下:

Snake Case: user_id
Camel Case: userId
Camel Case: userId
Snake Case: user_id

使用方法

  • 将上述代码保存为一个工具类文件(如 StringUtils.java)。
  • 在你的项目中导入这个工具类,然后调用 StringUtils.toCamelCaseStringUtils.toSnakeCase 方法即可完成转换。

这个工具类简单易用,不依赖任何外部库,适合在任何 Java 项目中使用!