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

运行结果:

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。