亲宝软件园·资讯

展开

java驼峰转换 java驼峰转换的方法

小爷胡汉三 人气:0

将"_"转换成驼峰,将驼峰转换成"_"。

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"));
 }
}

运行结果:

加载全部内容

相关教程
猜你喜欢
用户评论