c语言编程笔录

首页 >   > 笔记大全

笔记大全

Java中的字符串驼峰怎么实现与下换线转换格式

更新时间:2023-10-07

Java中字符串的驼峰和下划线互换

在 Java 中,字符串的驼峰和下划线互换通常用于转换数据库表字段和 Java Bean 属性之间的命名。

1. 驼峰转下划线

示例字符串:`userName` 将字符串 `userName` 转换为 `user_name` 格式。以下是一个实现的示例代码:
public static String camel2Underline(String camelStr) {
    if (StringUtils.isBlank(camelStr)) {
        return "";
    }
    StringBuilder sb = new StringBuilder();
    for (char c : camelStr.toCharArray()) {
        if (Character.isUpperCase(c)) {
            sb.append("_").append(Character.toLowerCase(c));
        } else {
            sb.append(c);
        }
    }
    return sb.toString();
}
解释:利用 StringBuilder 类型来串联新的字符串,遍历字符串中的所有字符,如果字符是大写字母,则在前面添加下划线,并将字符转换为小写字母。

2. 下划线转驼峰

示例字符串:`user_name` 将字符串 `user_name` 转换为 `userName` 格式。以下是一个实现的示例代码:
public static String underline2Camel(String lineStr) {
    if (StringUtils.isBlank(lineStr)) {
        return "";
    }
    StringBuilder sb = new StringBuilder();
    boolean needUpper = false;
    for (char c : lineStr.toCharArray()) {
        if (c == '_') {
            needUpper = true;
        } else {
            sb.append(needUpper ? Character.toUpperCase(c) : c);
            needUpper = false;
        }
    }
    return sb.toString();
}
解释:利用 StringBuilder 类型来串联新的字符串,遍历字符串中的所有字符,如果字符是下划线,则需要将下一个字符转换为大写字母。

3. 小写开头的驼峰转下划线

示例字符串:`userName` 将字符串 `userName` 转换为 `user_name` 格式。以下是一个实现的示例代码:
public static String camel2UnderlineBegin(String camelStr) {
    if (StringUtils.isBlank(camelStr)) {
        return "";
    }
    StringBuilder sb = new StringBuilder();
    for (char c : camelStr.toCharArray()) {
        if (sb.length() == 0 && Character.isUpperCase(c)) {
            sb.append(Character.toLowerCase(c));
        } else if (Character.isUpperCase(c)) {
            sb.append("_").append(Character.toLowerCase(c));
        } else {
            sb.append(c);
        }
    }
    return sb.toString();
}
解释:利用 StringBuilder 类型来串联新的字符串,遍历字符串中的所有字符,如果字符是大写字母,则在第一个字符前添加下划线,并将字符转换为小写字母。

4. 下划线转小写开头的驼峰

示例字符串:`user_name` 将字符串 `user_name` 转换为 `userName` 格式。以下是一个实现的示例代码:
public static String underline2CamelBegin(String lineStr) {
    if (StringUtils.isBlank(lineStr)) {
        return "";
    }
    StringBuilder sb = new StringBuilder();
    boolean needUpper = false;
    for (char c : lineStr.toCharArray()) {
        if (c == '_') {
            needUpper = true;
        } else {
            sb.append(needUpper ? Character.toUpperCase(c) : Character.toLowerCase(c));
            needUpper = false;
        }
    }
    return sb.toString();
}
解释:利用 StringBuilder 类型来串联新的字符串,遍历字符串中的所有字符,如果字符是下划线,则需要将下一个字符转换为大写字母,同时将第一个字符转换为小写字母。 总结: Java 中字符串的驼峰和下划线互换实现非常简单,只需要基于字符串的基础知识,结合各种逻辑判断即可实现,具有很好的通用性,可以广泛应用于 Java Web 开发中的项目。