优化StringUtils.camelCase驼峰命名法转换,不允许第二个字符是大写,因为这样会造成bean引用失败
This commit is contained in:
@@ -250,16 +250,14 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
|||||||
if (s == null) {
|
if (s == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
s = s.toLowerCase();
|
s = s.toLowerCase();
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder(s.length());
|
StringBuilder sb = new StringBuilder(s.length());
|
||||||
boolean upperCase = false;
|
boolean upperCase = false;
|
||||||
for (int i = 0; i < s.length(); i++) {
|
for (int i = 0; i < s.length(); i++) {
|
||||||
char c = s.charAt(i);
|
char c = s.charAt(i);
|
||||||
|
|
||||||
if (c == SEPARATOR) {
|
if (c == SEPARATOR) {
|
||||||
upperCase = true;
|
upperCase = i != 1; // 不允许第二个字符是大写
|
||||||
} else if (upperCase) {
|
} else if (upperCase) {
|
||||||
sb.append(Character.toUpperCase(c));
|
sb.append(Character.toUpperCase(c));
|
||||||
upperCase = false;
|
upperCase = false;
|
||||||
@@ -267,7 +265,6 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
|||||||
sb.append(c);
|
sb.append(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,18 +294,14 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
|||||||
if (s == null) {
|
if (s == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
boolean upperCase = false;
|
boolean upperCase = false;
|
||||||
for (int i = 0; i < s.length(); i++) {
|
for (int i = 0; i < s.length(); i++) {
|
||||||
char c = s.charAt(i);
|
char c = s.charAt(i);
|
||||||
|
|
||||||
boolean nextUpperCase = true;
|
boolean nextUpperCase = true;
|
||||||
|
|
||||||
if (i < (s.length() - 1)) {
|
if (i < (s.length() - 1)) {
|
||||||
nextUpperCase = Character.isUpperCase(s.charAt(i + 1));
|
nextUpperCase = Character.isUpperCase(s.charAt(i + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((i > 0) && Character.isUpperCase(c)) {
|
if ((i > 0) && Character.isUpperCase(c)) {
|
||||||
if (!upperCase || !nextUpperCase) {
|
if (!upperCase || !nextUpperCase) {
|
||||||
sb.append(SEPARATOR);
|
sb.append(SEPARATOR);
|
||||||
@@ -317,10 +310,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
|||||||
} else {
|
} else {
|
||||||
upperCase = false;
|
upperCase = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
sb.append(Character.toLowerCase(c));
|
sb.append(Character.toLowerCase(c));
|
||||||
}
|
}
|
||||||
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user