package com.mmall.test;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 需求:1. 将字符串 user_name_abc 转换为 userNameAbc * 2. 将字符串 userNameAbc 转化为 user_name_abc * @author Declan */public class Test { public static void main(String[] args) { System.out.println((int)'A'); long startTime = System.currentTimeMillis(); String lowCaseStr = "user_name_abc"; String humpCaseStr = "userNameAbc"; for(int i=0; i<10000; i++){ System.out.println(lowCaseStr+" >> "+lowCaseConvert2Hump_1(lowCaseStr));// System.out.println(lowCaseStr+" >> "+lowCaseConvert2Hump_2(lowCaseStr)); System.out.println(humpCaseStr+" >> "+humpConvert2lowCase_1(humpCaseStr));// System.out.println(humpCaseStr+" >> "+humpConvert2lowCase_2(humpCaseStr)); } long endTime = System.currentTimeMillis(); System.out.println("************ 所用时间(ms): "+(endTime-startTime)+"***********"); } /** * 方法1 * @param str * @return */ public static String lowCaseConvert2Hump_1(String str){ String[] split = str.split("_"); StringBuilder stringBuilder = new StringBuilder(split[0]); for (int i=1; i='A' && ascii<='Z'){ if(Character.isUpperCase(c)){ c = (char)(c +32); stringBuilder.append("_"+c); }else{ stringBuilder.append(c); } } return stringBuilder.toString(); } /** * 方法2 用正则表达式实现 * @param str * @return */ public static String humpConvert2lowCase_2(String str){ return str.replaceAll("[A-Z]{1}","_$0").toLowerCase(); }}

经过测试,使用正则表达式的话,需要更长的时间,效率更低一些。

查看原文 >>
相关文章