java 驼峰字符和下划线字符相互转换工具类

public static final char UNDERLINE='_';
    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();
    }
    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();
    }
    public static String underlineToCamel2(String param){
        if (param==null||"".equals(param.trim())){
            return "";
        }
        StringBuilder sb=new StringBuilder(param);
        Matcher mc= Pattern.compile("_").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) {
    }

参考自:http://blog.csdn.net/xiejx618/article/details/30129851

Original: https://www.cnblogs.com/tianzhijiexian/p/4723880.html
Author: developer_Kale
Title: java 驼峰字符和下划线字符相互转换工具类

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537607/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2022-8-19 第六组 JDBC(2)

    PreparedStatement:执行sql的对象 1. SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题 1. &#x8F93…

    Java 2023年6月13日
    091
  • MyBatisPlus 入门教程,这篇很赞

    在之前的文章中我们经常使用MybatisPlus进行增删改查,可能有些小伙伴对mybatisplus不是很熟悉,今天特意出了一般入门级的教程,我自己也是一边学习一边写的,有什么地方…

    Java 2023年6月8日
    098
  • static关键字的一些使用

    百度百科定义static关键字 通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字stati…

    Java 2023年6月7日
    071
  • 6.Hystrix入门

    Hystrix两种命令模式 HystrixCommand和HystrixObservableCommand Command会以隔离的形式完成run方法调用 ObservableCo…

    Java 2023年6月8日
    088
  • java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter

    在构建项目的时候使用的是jdk11,项目访问时报错 故障原因 使用了jdk版本过高 解决:直接在pom.xml中添加如下依赖可以解决(也可以试试降低jdk的版本) javax.xm…

    Java 2023年5月29日
    080
  • 北京Java笔试题整理

    北京Java笔试题整理1、什么是java虚拟机?为什么ava被称作是”平台无关的编程语言?答:Java虚拟机可以理解为一个特殊的”操作系统”,只…

    Java 2023年5月29日
    070
  • SpringBoot自定义maven-plugin插件整合asm代码插桩

    公司开发框架增加了web系统license授权证书校验模块,实行一台机器一个授权证书,初步方案是增加拦截器针对全局请求进行拦截校验,评估后认为校验方式单一,应该增加重要工具类,业务…

    Java 2023年6月15日
    082
  • javaWeb-HTML

    HTML 基础标签 字体大小 ( —)*** <h1> 我是h1 h1><h2> 我&#x662…

    Java 2023年6月13日
    0102
  • Spring 源码(9)Spring Bean的创建过程的前期准备

    回顾总结 到目前为止, Spring源码中 AbstractApplicationContext#refresh方法的已经解读到第11个方法 finishBeanFactoryIn…

    Java 2023年6月14日
    087
  • 抽象

    abstract修饰符 在继承结构中,上层的类会更具有通用性,不同的子类可以以不同的实现去重写父类继承下来的功能。如计算器,为了完成科学计算的、会计使用的、普通的等,以不同的方式完…

    Java 2023年6月5日
    064
  • Mybatis学习笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月7日
    0118
  • 从源码里的一个注释,我追溯到了12年前,有点意思。

    你好呀,我是歪歪。 那天我正在用键盘疯狂的输出: 突然微信弹出一个消息,是一个读者发给我的。 我点开一看: 啊,这熟悉的味道,一看就是 HashMap,八股文梦开始的地方啊。 但是…

    Java 2023年6月5日
    081
  • Camunda工作流引擎简单入门

    一、简介 Camunda是一个工作流引擎,执行Bpmn2.0标准,因此依赖于基于bpmn的流程图(本质上是一个xml文件) 二、一个完整的报销 demo 入门 1、创建一个Spri…

    Java 2023年6月13日
    083
  • [学习笔记] Java正则表达式

    正则表达式 正则表达式定义了字符串的模式,可以用于搜索、编辑或处理文本; 正则表达式使用字符串描述规则,并用于匹配字符串; 一个正则表达式其实就是一个描述规则的字符串,被正则表达式…

    Java 2023年6月5日
    081
  • tomcat启动出现异常:java.lang.OutOfMemoryError: Java heap space 异常解决方法

    参考:https://blog.csdn.net/qq_43842093/article/details/121048515 tomcat启动出现异常:java.lang.OutO…

    Java 2023年5月29日
    0115
  • 向指定URL发送POST请求的方法

    此方法只支持HTTP请求,HTTPS请求会报错!示例如下: /** * &#x5411;&#x6307;&#x5B9A;URL&#x53D1;&am…

    Java 2023年6月6日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球