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,驼峰,下划线
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
android 使用Xml文件定义Shape方式
2022-09-08 19:19:38
![](https://img.aspxhome.com/file/2023/5/102585_0s.jpg)
android自定义View实现简单五子棋游戏
2022-09-16 14:52:30
![](https://img.aspxhome.com/file/2023/1/126681_0s.jpg)
android虚拟键盘弹出遮挡登陆按钮问题的解决方法
2022-03-06 15:54:54
![](https://img.aspxhome.com/file/2023/8/126708_0s.gif)
Android仿正点闹钟时间齿轮滑动效果
2022-09-06 09:27:46
![](https://img.aspxhome.com/file/2023/2/90162_0s.jpg)
java AOP原理以及实例用法总结
2022-11-05 03:30:41
![](https://img.aspxhome.com/file/2023/4/122024_0s.png)
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
![](https://img.aspxhome.com/file/2023/1/116831_0s.jpg)
Zookeeper连接超时问题与拒绝连接的解决方案
2023-11-20 03:41:29
![](https://img.aspxhome.com/file/2023/3/78863_0s.png)
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
![](https://img.aspxhome.com/file/2023/5/139405_0s.png)
java实现捕鱼达人游戏
2023-11-23 21:28:59
![](https://img.aspxhome.com/file/2023/6/70926_0s.jpg)
手把手带你了解Java-Stream流方法学习及总结
2023-11-25 19:30:15
![](https://img.aspxhome.com/file/2023/9/60469_0s.png)
C#动态加载dll扩展系统功能的方法
2022-08-08 23:23:15