本文實例為大家分享了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")); }}運行結果:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。