com.github.dreamroute.common.util.StrUtil Maven / Gradle / Ivy
package com.github.dreamroute.common.util;
/**
* 字符串工具类
*
* @author w.dehai
*/
public class StrUtil {
private StrUtil() {}
public static boolean isEmpty(String str) {
return str == null || "".equals(str);
}
public static boolean isNotEmpty(String str) {
return !isEmpty(str);
}
/**
* 下划线转驼峰
*/
public static String toCamelCase(String underlineStr) {
if (underlineStr == null) {
return null;
}
// 分成数组
char[] charArray = underlineStr.toCharArray();
// 判断上次循环的字符是否是"_"
boolean underlineBefore = false;
StringBuilder buffer = new StringBuilder();
for (int i = 0, l = charArray.length; i < l; i++) {
// 判断当前字符是否是"_",如果跳出本次循环
if (charArray[i] == 95) {
underlineBefore = true;
} else if (underlineBefore) {
// 如果为true,代表上次的字符是"_",当前字符需要转成大写
buffer.append(charArray[i] -= 32);
underlineBefore = false;
} else {
// 不是"_"后的字符就直接追加
buffer.append(charArray[i]);
}
}
return buffer.toString();
}
/**
* 驼峰转下划线
*/
public static String toUnderlineCase(String camelCaseStr) {
if (camelCaseStr == null) {
return null;
}
// 将驼峰字符串转换成数组
char[] charArray = camelCaseStr.toCharArray();
StringBuilder buffer = new StringBuilder();
//处理字符串
for (int i = 0, l = charArray.length; i < l; i++) {
if (charArray[i] >= 65 && charArray[i] <= 90) {
buffer.append("_").append(charArray[i] += 32);
} else {
buffer.append(charArray[i]);
}
}
return buffer.toString();
}
}