/**
* 驼峰转下划线&&大写
*
* @param camelCase 例:camelCase
* @return 例:CAMEL_CASE
*/
public static String camelToUnderline(String camelCase) {
if (camelCase == null) {
return null;
}
StringBuilder result = new StringBuilder(camelCase.length());
boolean inWord = false;
for (int i = 0; i < camelCase.length(); i++) {
char c = camelCase.charAt(i);
if (Character.isUpperCase(c)) {
if (!inWord) {
result.append("_");
}
inWord = true;
} else if (Character.isLowerCase(c)) {
inWord = false;
}
result.append(c);
}
return result.toString().toUpperCase();
}
/**
* 下划线转小驼峰
*
* @param underline 例:CAMEL_CASE
* @return 例:camelCase
*/
public static String underlineToCamel(String underline) {
// 按照下划线进行分割
String[] words = underline.split("_");
// 遍历字符串数组
for (int i = 0; i < words.length; i++) {
// 将每个字符串的第一个字母大写,其他字母小写
words[i] = words[i].substring(0, 1).toUpperCase() + words[i].substring(1).toLowerCase();
}
// 将处理后的字符串连接起来
String joined = String.join("", words);
// 首字母小写
return joined.substring(0, 1).toLowerCase() + joined.substring(1);
}
小驼峰与下划线相互转换
最新推荐文章于 2024-04-30 12:12:17 发布