`

java,下划线与驼峰命名转换

阅读更多

下划线与驼峰命名转换。

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方法源码即可。

分享到:
评论

相关推荐

    驼峰转下划线、下划线转驼峰的java工具类

    适应性强:能够处理大多数常见的驼峰和下划线命名转换场景。 缺点: 仅支持基本转换:这个基础版本未考虑特定场景,如首字母大写的驼峰命名(PascalCase)转换,或者已有下划线的情况下保持部分单词首字母大写等...

    java中驼峰与下划线的写法互转

    【Java中驼峰与下划线的转换】在Java编程中,经常需要处理不同命名规范之间的转换,尤其是在数据库与实体类交互的时候。数据库字段通常采用下划线分隔的命名方式,例如`user_name`,而Java实体类的属性则多采用驼峰...

    mybaits数据库下划线转java对象的驼峰.pdf

    这将启用 MyBatis 的自动命名转换功能,从而将数据库中下划线命名的表和字段转换为 Java 对象的驼峰命名。 方法二:在 Spring Boot 应用程序中添加配置 在 Spring Boot 应用程序的配置文件 `application.yml` 中...

    Java中驼峰与下划线相互转换

    提供的`toUnderScoreCase`方法负责将驼峰命名的字符串转换为下划线命名。它遍历字符串中的每个字符,判断当前字符、前一个字符和下一个字符是否大写,从而确定何时添加下划线。例如,"HelloWorld"会转换成"hello_...

    带有智能驼峰命名的GsonFormat

    带有智能驼峰命名的GsonFormat,可以自动将下划线的命名自动,自动转换成java 的驼峰命名的形式

    SpringBoot+Mybatis,返回Map的时候,将Map内的Key转换为驼峰的命名

    总的来说,处理Map中Key的驼峰命名转换是Java开发中的常见需求,通过自定义工具类或利用现有的库,我们可以轻松地解决这个问题,提高代码质量。在实际项目中,还应注意处理异常情况,确保在Key不存在或者格式不正确...

    eclipse插件,驼峰下划线互转

    1.驼峰下换线互转 2.拼接前缀、后缀 3.urlencoder、urldecoder

    hutool一个Java基础工具类

    流处理是Java中重要的部分,Hutool的StreamUtil提供了丰富的流操作,包括转换、过滤、合并等。例如,可以方便地将集合转换为流: ```java List<String> list = ListUtil.list("a", "b", "c"); Stream<String> ...

    java驼峰转换的方法

    Java 驼峰转换是一种将驼峰命名法转换为下划线命名法的方法,这种方法在 Java 开发中非常常用。驼峰命名法是指将单词的第一个字母大写的命名方法,如 userName,而下划线命名法是指使用下划线将单词分隔的命名方法,...

    idea驼峰和大小写快捷切换插件

    CamelCase:驼峰式命名和下划线命名互相转换, 提高Java开发效率,Idea必装的几款插件

    Java实体类字段生成工具类-将数据库表列字段转为Java实体类驼峰字段

    4、优点:使用代码生成驼峰形式的字段,可以减少出错概率,生成的实体类字段符合Java命名规范,易于阅读和理解。 5、使用示例:将"TITLE \n" +"COMPANY "可以转换为 /** * TITLE */ @Column(name = ...

    eclipse字符串下划线驼峰互转插件(附源码).7z

    总之,"eclipse字符串下划线驼峰互转插件"是一个实用的开发辅助工具,它简化了字符串命名风格的转换过程,提高了开发效率。源码的开放性则为学习和扩展插件功能提供了可能性,有助于提升开发者的技术水平和对Eclipse...

    mybatisplus解决驼峰命名映射问题详解

    在MyBatis中,可以在`mybatis-config.xml`配置文件中开启驼峰命名转换,通过设置`<setting name="mapUnderscoreToCamelCase" value="true" />`来实现。然而,MyBatisPlus的配置略有不同,它需要在全局配置中进行设置...

    驼峰命名转下划线命名

    - 当从使用驼峰命名的环境(如JSON数据)转换到使用下划线命名的环境(如Python或数据库)时,需要进行转换操作。 - 如上所述的Python函数`sub`,使用正则表达式`re.sub`来实现驼峰命名到下划线命名的转换。正则...

    为什么rest接口返回json建议采用下划线形式,不要用驼峰

    驼峰命名法,指的是命名中的每个单词的首字母大写(例如:isMember),而下划线命名法,则是在单词与单词之间使用下划线连接(例如:is_member)。在REST接口中,返回JSON采用下划线命名而非驼峰命名的主要原因包括...

    Java开发的常见命名规则

    2. **接口名**:接口名的命名规则与类名相同,也采用大驼峰命名法,如`MyInterface`。接口是定义行为或功能的标准,其命名应反映其提供的服务或行为。 3. **方法名**:方法名使用小驼峰命名法(camelCase),第一个...

    StringManipulation

    在实际开发中,有时需要在两者之间进行转换,例如,当从API接口接收数据时,数据可能是下划线命名,而我们需要将其转换为驼峰式以便与Java或JavaScript等语言的代码风格保持一致。 字符串大小写转换是字符串处理的...

    java命名规范java的命名规范java的命名规范java的命名规范

    2. **类名**:应使用驼峰命名法,每个单词的首字母大写。例如,`SampleClass`。 3. **异常类**:异常类名称通常以 `Exception` 结尾,如 `SampleException`。 4. **接口名**:接口名通常以 `I` 开头,后面跟着类名...

    JSON转java类

    它能将JSON字符串自动转化为符合Java POJO(Plain Old Java Object)规范的类,而且特别的是,它会将JSON中的下划线命名方式自动转换为Java中的驼峰式命名。 首先,让我们理解一下JSON和Java POJO之间的转换原理。...

    数据库字段名转换成Java字段名

    数据库字段名通常遵循下划线分隔的命名规范,例如`user_name`,而Java字段名则遵循驼峰式命名,如`userName`。这篇博客《数据库字段名转换成Java字段名》可能探讨了如何自动将数据库字段名转换为符合Java编程规范的...

Global site tag (gtag.js) - Google Analytics