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")); } }
运行结果:
加载全部内容