java驼峰转换的方法
时间:2021-06-03 09:11:25|栏目:JAVA代码|点击: 次
本文实例为大家分享了java驼峰转换的具体代码,供大家参考,具体内容如下
将"_"转换成驼峰,将驼峰转换成"_"。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 驼峰转换
* @author 胡汉三
* 2017年1月19日 下午4:42:58
*/
public class BeanHump {
//转变的依赖字符
public static final char UNDERLINE='_';
/**
* 将驼峰转换成"_"(userId:user_id)
* @param param
* @return
*/
public static String camelToUnderline(String param){
if (param==null||"".equals(param.trim())){
return "";
}
int len=param.length();
StringBuilder sb=new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c=param.charAt(i);
if (Character.isUpperCase(c)){
sb.append(UNDERLINE);
sb.append(Character.toLowerCase(c));
}else{
sb.append(c);
}
}
return sb.toString();
}
/**
* 将"_"转成驼峰(user_id:userId)
* @param param
* @return
*/
public static String underlineToCamel(String param){
if (param==null||"".equals(param.trim())){
return "";
}
int len=param.length();
StringBuilder sb=new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c=param.charAt(i);
if (c==UNDERLINE){
if (++i<len){
sb.append(Character.toUpperCase(param.charAt(i)));
}
}else{
sb.append(c);
}
}
return sb.toString();
}
/**
* 将"_"转成驼峰(user_id:userId)
* @param param
* @return
*/
public static String underlineToCamel2(String param){
if (param==null||"".equals(param.trim())){
return "";
}
StringBuilder sb=new StringBuilder(param);
Matcher mc= Pattern.compile(UNDERLINE+"").matcher(param);
int i=0;
while (mc.find()){
int position=mc.end()-(i++);
String.valueOf(Character.toUpperCase(sb.charAt(position)));
sb.replace(position-1,position+1,sb.substring(position,position+1).toUpperCase());
}
return sb.toString();
}
/*
* 测试
*/
public static void main(String[] args) {
System.out.println(camelToUnderline("userNameAll"));
System.out.println(underlineToCamel("user_name_all"));
System.out.println(underlineToCamel2("user_name_all"));
}
}
运行结果:

栏 目:JAVA代码
下一篇:Springboot视图解析器ViewResolver使用实例
本文标题:java驼峰转换的方法
本文地址:http://www.codeinn.net/misctech/134524.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




