java,下划线与驼峰命名转换
来源:互联网 发布:网络屏蔽器软件下载 编辑:程序博客网 时间:2024/05/21 08:59
下划线与驼峰命名转换
不纠结""_"+matcher.group(0).toLowerCase()"的话,humpToLine2效率会比humpToLine高一些,看String#replaceAll方法源码即可。
public class Tool{ private static Pattern linePattern = Pattern.compile("_(\\w)"); /**下划线转驼峰*/ public static String lineToHump(String str){ str = str.toLowerCase(); Matcher matcher = linePattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(sb, matcher.group(1).toUpperCase()); } matcher.appendTail(sb); return sb.toString(); } /**驼峰转下划线(简单写法,效率低于{@link #humpToLine2(String)})*/ public static String humpToLine(String str){ return str.replaceAll("[A-Z]", "_$0").toLowerCase(); } private static Pattern humpPattern = Pattern.compile("[A-Z]"); /**驼峰转下划线,效率比上面高*/ public static String humpToLine2(String str){ Matcher matcher = humpPattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(sb, "_"+matcher.group(0).toLowerCase()); } matcher.appendTail(sb); return sb.toString(); } public static void main(String[] args) { String lineToHump = lineToHump("f_parent_no_leader"); System.out.println(lineToHump);//fParentNoLeader System.out.println(humpToLine(lineToHump));//f_parent_no_leader System.out.println(humpToLine2(lineToHump));//f_parent_no_leader } }
不纠结""_"+matcher.group(0).toLowerCase()"的话,humpToLine2效率会比humpToLine高一些,看String#replaceAll方法源码即可。
0 0
- java,下划线与驼峰命名转换
- Java-驼峰命名与下划线命名互转
- java下划线命名转驼峰命名
- js驼峰命名和下划线转换
- Java 驼峰与下划线的属性名互相转换
- Java 驼峰与下划线的属性名互相转换
- 字符串的下划线命名和驼峰命名转换
- 字符串的下划线命名和驼峰命名转换
- 驼峰式命名的字符串与数据库字段下划线大写方式的转换
- Java 驼峰命名法转下划线命名法
- 下划线和驼峰转换
- java驼峰转下划线,下划线转驼峰
- JSONModel命名中的驼峰(CamelCase)与下划线 (UnderscoreCase)
- Java之驼峰和下划线命名的相互转化-yellowcong
- java驼峰转下划线
- 下划线命名法 vs 驼峰命名法
- java 驼峰字符和下划线字符相互转换工具类
- 驼峰和下划线命令转换
- Android和Java的关系和区别
- iOS开发UI篇 -- 0401团购案例-使用xib自定义控件
- 黑马程序员------面向对象02
- 通过AIDL实现挂断电话功能
- 亚马逊资源名称 (ARN) 和 AWS 服务命名空间
- java,下划线与驼峰命名转换
- Android设计模式(十二)--抽象工厂模式
- 设置Linux交换分区
- FastDFS之Tracker-Leader选择和tracker server间通信
- C语言宏定义总结
- AspNet MVC4 教学-29:Asp.Net MVC4 jQuery计时器读取服务器时间的Ajax技术快速Demo
- android代码混淆之不同ADT版本和不同IDE之间混淆配置文件的区别
- 自定义吐丝类窗体,并实现拖拽功能
- [CodeForces365C]Matrix[构造][数学]