refactor: optimize StringUtil.camelToUnderline

This commit is contained in:
Michael Yang 2024-05-22 11:36:08 +08:00
parent 852b1b222d
commit adb43c6c47

View File

@ -91,12 +91,12 @@ public class StringUtil {
StringBuilder sb = new StringBuilder(strLen); StringBuilder sb = new StringBuilder(strLen);
for (int i = 0; i < strLen; i++) { for (int i = 0; i < strLen; i++) {
char c = string.charAt(i); char c = string.charAt(i);
// if (Character.isUpperCase(c) && i > 0) { if (Character.isUpperCase(c) && i > 0) {
// sb.append('_'); char prev = string.charAt(i - 1);
// } if (!Character.isUpperCase(prev) && prev != '_') {
if (Character.isUpperCase(c) && i > 0 && !Character.isUpperCase(string.charAt(i - 1)) && string.charAt(i - 1) != '_') {
sb.append('_'); sb.append('_');
} }
}
sb.append(Character.toLowerCase(c)); sb.append(Character.toLowerCase(c));
} }
return sb.toString(); return sb.toString();