public class StringUtil {
public static void main(String[] args) {
System.out.println(toCamelCase("user_name"));
System.out.println(toUnderlineCase("userName"));
}
/**
* 下划线转驼峰
* user_name ----> userName
* userName ---> userName
*
* @param underlineStr 带有下划线的字符串
* @return 驼峰字符串
*/
public static String toCamelCase(String underlineStr) {
if (underlineStr == null) {
return null;
}
// 分成数组
char[] charArray = underlineStr.toCharArray();
// 判断上次循环的字符是否是"_"
boolean underlineBefore = false;
StringBuffer buffer = new StringBuffer();
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();
}
/**
* 驼峰转 下划线
* userName ----> user_name
* user_name ----> user_name
*
* @param camelCaseStr 驼峰字符串
* @return 带下滑线的String
*/
public static String toUnderlineCase(String camelCaseStr) {
if (camelCaseStr == null) {
return null;
}
// 将驼峰字符串转换成数组
char[] charArray = camelCaseStr.toCharArray();
StringBuffer buffer = new StringBuffer();
//处理字符串
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();
}
}
java 驼峰转下划线 下划线转驼峰
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。