专栏首页开发杂记Java-驼峰命名与下划线命名互转

Java-驼峰命名与下划线命名互转

package com.xsh.util;

/**
 * String工具类
 *
 * @author xieshuang
 * @date 2019-05-23
 */
public class StringUtils {

    private final static String UNDERLINE = "_";

    /***
     * 下划线命名转为驼峰命名
     *
     * @param para
     *        下划线命名的字符串
     */

    public static String underlineToHump(String para) {
        StringBuilder result = new StringBuilder();
        String a[] = para.split(UNDERLINE);
        for (String s : a) {
            if (!para.contains(UNDERLINE)) {
                result.append(s);
                continue;
            }
            if (result.length() == 0) {
                result.append(s.toLowerCase());
            } else {
                result.append(s.substring(0, 1).toUpperCase());
                result.append(s.substring(1).toLowerCase());
            }
        }
        return result.toString();
    }

    /***
     * 驼峰命名转为下划线命名
     *
     * @param para
     *        驼峰命名的字符串
     */

    public static String humpToUnderline(String para) {
        StringBuilder sb = new StringBuilder(para);
        int temp = 0;//定位
        if (!para.contains(UNDERLINE)) {
            for (int i = 0; i < para.length(); i++) {
                if (Character.isUpperCase(para.charAt(i))) {
                    sb.insert(i + temp, UNDERLINE);
                    temp += 1;
                }
            }
        }
        return sb.toString().toUpperCase();
    }
}

运行结果:

testDadaDada
T_AEST_DADA_SADA

源码地址:https://github.com/xieshuang/util

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java FTP下载文件

    河岸飞流
  • mybatis大于小于的转义

    河岸飞流
  • oracle循环语句

    河岸飞流
  • http编程系列(二)——java爬虫实现刷个人博客的访问量

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚
  • JSP-Servlet中文乱码

      客户端 get 方法时 出现乱码:   解决办法: String str1 = request.getParameter("stuname"); Stri...

    用户1154259
  • SAP ABAP中关于commit的一点解释

    commit work 语句是显式更新,程序中还有一些地方可以隐式更新,即不用写这个语句去更新数据库。

    matinal
  • 笔记63 | 个人项目“易来”开发记录《一》

    项勇
  • Kafka核心API——Stream API

    Kafka Stream是Apache Kafka从0.10版本引入的一个新Feature,它提供了对存储于Kafka内的数据进行流式处理和分析的功能。简而言之...

    端碗吹水
  • [答题赛(第17轮)]

    用户6288414
  • 支持向量机Python实现(附源码与数据)

    之前的文章已经将支持向量机的原理讲解的比较清楚了,今天这篇文章主要是基于Python实现支持向量机,具体的数据集和源代码如下所示(文末附有本文使用的数据集和源代...

    昱良

扫码关注云+社区

领取腾讯云代金券