Java實現(xiàn)駝峰、下劃線互轉(zhuǎn)的方法
更新時間:2023年05月25日 09:54:04 作者:Le_我在等風(fēng)
這篇文章主要介紹了Java實現(xiàn)駝峰、下劃線互轉(zhuǎn)的示例代碼,主要有使用 Guava 實現(xiàn)和自定義代碼轉(zhuǎn),本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
Java實現(xiàn)駝峰、下劃線互轉(zhuǎn)
1.使用 Guava 實現(xiàn)
先引入相關(guān)依賴
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version>
</dependency>
```1
1.1 駝峰轉(zhuǎn)下劃線
```java
public static void main(String[] args) {
String resultStr = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "userName");
System.out.println("轉(zhuǎn)換后結(jié)果是:"+resultStr);
}
轉(zhuǎn)換后結(jié)果是:user_name1.2 下劃線轉(zhuǎn)駝峰
public static void main(String[] args) {
String resultStr = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "user_name");
System.out.println("轉(zhuǎn)換后結(jié)果是:"+resultStr);
}
轉(zhuǎn)換后結(jié)果是:userName2.自定義代碼轉(zhuǎn)
2.1駝峰轉(zhuǎn)下劃線
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下劃線轉(zhuǎn)駝峰
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();
}到此這篇關(guān)于Java實現(xiàn)駝峰、下劃線互轉(zhuǎn)的示例代碼的文章就介紹到這了,更多相關(guān)java駝峰、下劃線內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于shiro中部分SpringCache失效問題的解決方法
這篇文章主要給大家介紹了關(guān)于shiro中部分SpringCache失效問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Java中關(guān)于http請求獲取FlexManager某設(shè)備分組監(jiān)控點
這篇文章主要介紹了Java中關(guān)于http請求獲取FlexManager某設(shè)備分組監(jiān)控點,本文僅僅介紹了使用http請求獲取FlexManager平臺某個FBox盒子即某設(shè)備的監(jiān)控點分組的分組下的所有監(jiān)控點信息,需要的朋友可以參考下2022-10-10
Spring Boot命令行啟動添加參數(shù)的三種方式
在命令行中,常見的參數(shù)可以分為三類:選項參數(shù)、非選項參數(shù)和系統(tǒng)參數(shù),本文就來介紹一下Spring Boot命令行三種參數(shù)形式,感興趣的可以了解一下2023-09-09
Maven3種打包方式中maven-assembly-plugin的使用詳解
這篇文章主要介紹了Maven3種打包方式中maven-assembly-plugin的使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
Intellij?IDEA?中調(diào)試?maven?插件的步驟
這篇文章主要介紹了Intellij?IDEA?中調(diào)試?maven?插件,本文分步驟給大家講解的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03

