java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java驼峰转换

java驼峰转换的方法

作者:小爷胡汉三

这篇文章主要为大家详细介绍了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"));
 }
}

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文