驼峰命名法工具优化,使用下划线开头的时候忽略它
This commit is contained in:
@@ -270,7 +270,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 驼峰命名法工具
|
* 转换为驼峰命名法
|
||||||
* @return
|
* @return
|
||||||
* camelCase("hello_world") == "helloWorld"
|
* camelCase("hello_world") == "helloWorld"
|
||||||
* capCamelCase("hello_world") == "HelloWorld"
|
* capCamelCase("hello_world") == "HelloWorld"
|
||||||
@@ -283,37 +283,35 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
|||||||
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, j = 0; i < s.length(); i++) {
|
||||||
char c = s.charAt(i);
|
char c = s.charAt(i);
|
||||||
if (c == UNDERLINE.charAt(0) || c == MINUS.charAt(0)) {
|
if (c == UNDERLINE.charAt(0) || c == MINUS.charAt(0)) {
|
||||||
upperCase = i != 1; // 不允许第二个字符是大写
|
upperCase = j > 1; // 不允许第二个字符是大写
|
||||||
} else if (upperCase) {
|
} else if (upperCase) {
|
||||||
sb.append(Character.toUpperCase(c));
|
sb.append(Character.toUpperCase(c));
|
||||||
upperCase = false;
|
upperCase = false;
|
||||||
|
j++;
|
||||||
} else {
|
} else {
|
||||||
sb.append(c);
|
sb.append(c);
|
||||||
|
j++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 驼峰命名法工具
|
* 转换为驼峰命名法(首字母大写)
|
||||||
* @return
|
* @return
|
||||||
* camelCase("hello_world") == "helloWorld"
|
* camelCase("hello_world") == "helloWorld"
|
||||||
* capCamelCase("hello_world") == "HelloWorld"
|
* capCamelCase("hello_world") == "HelloWorld"
|
||||||
* uncamelCase("helloWorld") = "hello_world"
|
* uncamelCase("helloWorld") = "hello_world"
|
||||||
*/
|
*/
|
||||||
public static String capCamelCase(String s) {
|
public static String capCamelCase(String s) {
|
||||||
if (s == null) {
|
return cap(camelCase(s));
|
||||||
return null;
|
|
||||||
}
|
|
||||||
s = camelCase(s);
|
|
||||||
return s.substring(0, 1).toUpperCase() + s.substring(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 驼峰命名法工具
|
* 取消驼峰命名发
|
||||||
* @return
|
* @return
|
||||||
* camelCase("hello_world") == "helloWorld"
|
* camelCase("hello_world") == "helloWorld"
|
||||||
* capCamelCase("hello_world") == "HelloWorld"
|
* capCamelCase("hello_world") == "HelloWorld"
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||||
|
* No deletion without permission, or be held responsible to law.
|
||||||
|
*/
|
||||||
|
package com.jeesite.test.lang;
|
||||||
|
|
||||||
|
import com.jeesite.common.lang.StringUtils;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字符串工具测试类
|
||||||
|
* @author ThinkGem
|
||||||
|
* @version 2025-09-18
|
||||||
|
*/
|
||||||
|
public class StringUtilsTest {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws ParseException {
|
||||||
|
System.out.println(StringUtils.camelCase("id_name") + " = idName");
|
||||||
|
System.out.println(StringUtils.camelCase("_id_name") + " = idName");
|
||||||
|
System.out.println(StringUtils.camelCase("__id_name") + " = idName");
|
||||||
|
System.out.println(StringUtils.camelCase("a_id") + " = aid");
|
||||||
|
System.out.println(StringUtils.camelCase("a_b_id") + " = abId");
|
||||||
|
System.out.println(StringUtils.camelCase("__a_id") + " = aid");
|
||||||
|
System.out.println(StringUtils.camelCase("__a_b_id") + " = abId");
|
||||||
|
System.out.println(StringUtils.capCamelCase("id_name") + " = IdName");
|
||||||
|
System.out.println(StringUtils.capCamelCase("a_b_id_name") + " = AbIdName");
|
||||||
|
System.out.println(StringUtils.uncamelCase("abIdName") + " = ab_id_name");
|
||||||
|
System.out.println(StringUtils.uncamelCase("AbIdName") + " = ab_id_name");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user