Java实现驼峰、下划线互转的方法

作者:Le_我在等风 时间:2023-08-18 09:17:54 

Java实现驼峰、下划线互转

1.使用 Guava 实现

先引入相关依赖

<dependency>
   <groupId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>21.0</version>
</dependency>
```1
1.1 驼峰转下划线
```java
public static void main(String[] args) {
       String resultStr = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "userName");
       System.out.println("转换后结果是:"+resultStr);
   }
   转换后结果是:user_name

1.2 下划线转驼峰

public static void main(String[] args) {
       String resultStr = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "user_name");
       System.out.println("转换后结果是:"+resultStr);
   }
   转换后结果是:userName

2.自定义代码转

2.1驼峰转下划线

private static final Pattern TPATTERN = Pattern.compile("[A-Z0-9]");
       private String teseDemo(String str) {
           Matcher matcher = TPATTERN.matcher(str);
           StringBuffer sb = new StringBuffer();
           while (matcher.find()) {
               matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
           }
           matcher.appendTail(sb);
           return sb.toString();
       }

2.2下划线转驼峰

private static final char UNICON = '_';
   private String underlineToCamel(String param) {
       if (StringUtils.isBlank(param)) {
           return "";
       }
       int len = param.length();
       StringBuilder sb = new StringBuilder(len);
       for (int i = 0; i < len; i++) {
           char c = Character.toLowerCase(param.charAt(i));
           if (c == UNICON) {
               if (++i < len) {
                   sb.append(Character.toUpperCase(param.charAt(i)));
               }
           } else {
               sb.append(c);
           }
       }
       return sb.toString();
   }

来源:https://blog.csdn.net/Lee_XCSDN/article/details/128618084

标签:java,驼峰,下划线
0
投稿

猜你喜欢

  • android 使用Xml文件定义Shape方式

    2022-09-08 19:19:38
  • android自定义View实现简单五子棋游戏

    2022-09-16 14:52:30
  • android虚拟键盘弹出遮挡登陆按钮问题的解决方法

    2022-03-06 15:54:54
  • Android仿正点闹钟时间齿轮滑动效果

    2022-09-06 09:27:46
  • java AOP原理以及实例用法总结

    2022-11-05 03:30:41
  • C#中TreeView节点的自定义绘制方法

    2023-04-01 10:37:19
  • Java实现TopK问题的方法

    2023-11-10 20:32:14
  • 浅谈c#中config.exe 引发的一些问题

    2022-10-20 07:11:07
  • 浅谈JMeter engine启动原理

    2022-02-22 03:06:47
  • Zookeeper连接超时问题与拒绝连接的解决方案

    2023-11-20 03:41:29
  • Android 高版本API方法在低版本系统上的兼容性处理

    2022-08-22 08:51:53
  • Android 使用mediaplayer播放res/raw文件夹中的音乐的实例

    2023-12-19 08:28:11
  • 浅谈java异常处理之空指针异常

    2022-07-31 03:12:27
  • Java中websocket消息推送的实现代码

    2023-06-02 09:26:56
  • flutter窗口初始和绘制流程详析

    2023-08-17 21:07:30
  • java 字浮串提取方法汇集

    2023-11-24 14:43:16
  • Android开发笔记之:深入理解多线程AsyncTask

    2023-07-22 15:16:06
  • java实现捕鱼达人游戏

    2023-11-23 21:28:59
  • 手把手带你了解Java-Stream流方法学习及总结

    2023-11-25 19:30:15
  • C#动态加载dll扩展系统功能的方法

    2022-08-08 23:23:15
  • asp之家 软件编程 m.aspxhome.com