
titan.lightbatis.utils.NameUtils Maven / Gradle / Ivy
/**
*
*/
package titan.lightbatis.utils;
/**
* @author [email protected]
*
*/
public class NameUtils {
/**
* 将驼峰风格替换为下划线风格
*/
public static String camelhumpToUnderline(String str) {
final int size;
final char[] chars;
final StringBuilder sb = new StringBuilder(
(size = (chars = str.toCharArray()).length) * 3 / 2 + 1);
char c;
for (int i = 0; i < size; i++) {
c = chars[i];
if (isUppercaseAlpha(c)) {
sb.append('_').append(toLowerAscii(c));
} else {
sb.append(c);
}
}
return sb.charAt(0) == '_' ? sb.substring(1) : sb.toString();
}
public static boolean isUppercaseAlpha(char c) {
return (c >= 'A') && (c <= 'Z');
}
public static boolean isLowercaseAlpha(char c) {
return (c >= 'a') && (c <= 'z');
}
public static char toLowerAscii(char c) {
if (isUppercaseAlpha(c)) {
c += (char) 0x20;
}
return c;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy