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 开发中的项目。