Java下變量大小寫駝峰、大小寫下劃線、大小寫連線轉(zhuǎn)換
寫在前面
有時候需要處理對象屬性的getter、setter方法,或者將屬性與數(shù)據(jù)表字段進(jìn)行相互轉(zhuǎn)換,這時候就需要用到將小寫駝峰轉(zhuǎn)換為小寫下劃線方式,當(dāng)然我們可以自己手?jǐn)]一段代碼來實現(xiàn),但Google的大神們,已經(jīng)給我們提供了一個現(xiàn)成的開發(fā)包,也就是Google guava包。直接拿來主義吧!
引入guava依賴包
這個非常簡單,只需要在工程的pom.xml中引入依賴的坐標(biāo)即可。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>25.1-jre</version>
</dependency>
可以做什么
變量的一些轉(zhuǎn)換處理,只需要用到博大精深的guava包中的一個枚舉類CaseFormat.class。可以看到該枚舉類有5個枚舉變量。

枚舉就是一個單例,我們可以直接使用枚舉變量的方法,因為已經(jīng)是一個單例對象了嘛!如果你還不了解單例,那這里簡單解釋一下,單例就是在一個java進(jìn)程(也就是當(dāng)前工程的JVM中)只存在唯一一個對象,枚舉據(jù)說是最簡單的單例實現(xiàn)方式了。
那這幾個枚舉常量分別代表什么意思呢?
其實代碼的注釋里已經(jīng)解釋的很清楚了,不愧為大神之作啊!
以CaseFormat.LOWER_HYPHEN為例,注釋如下:
/** Hyphenated variable naming convention, e.g., "lower-hyphen". */
代表連字符的變量命名規(guī)范,例如user-name,user-age等。
為了減少大家的閱讀源碼的工作量,這里把5個枚舉及意義都拿出來說一下。
| 枚舉變量 | 說明 |
|---|---|
| CaseFormat.LOWER_HYPHEN | 連字符的變量命名規(guī)范,形式lower-hyphen |
| CaseFormat.LOWER_UNDERSCORE | C++變量命名規(guī)范,形式lower_underscore |
| CaseFormat.LOWER_CAMEL | Java變量命名規(guī)范,形式lowerCamel |
| CaseFormat.UPPER_CAMEL | Java和C++類名命名規(guī)范,形式UpperCamel |
| CaseFormat.UPPER_UNDERSCORE | Java和C++常量命名規(guī)范,形式UPPER_UNDERSCORE |
一共有5個枚舉變量,通過排列組合知識,可以知道,我們可以進(jìn)行變量轉(zhuǎn)換的形式總共有5*4=20種。
怎么做變量轉(zhuǎn)換
下面通過幾個典型的例子,演示怎么將一種變量命名規(guī)范轉(zhuǎn)換為另一種。
package com.chan.test;
import com.google.common.base.CaseFormat;
public class GuavaTest {
public static void main(String[] args) {
// 變量小寫連接線轉(zhuǎn)小寫駝峰
System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "user-name"));//userName
// 變量小寫連接線轉(zhuǎn)小寫下劃線
System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_UNDERSCORE, "user-name"));//user_name
// 變量小寫下劃線轉(zhuǎn)小寫駝峰
System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "user_name"));//userName
// 變量下劃線轉(zhuǎn)大寫駝峰
System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "user_name"));//UserName
// 變量小寫駝峰轉(zhuǎn)大寫駝峰
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, "userName"));//UserName
// 變量小寫駝峰轉(zhuǎn)小寫下劃線
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "userName"));//user_name
// 變量小寫駝峰轉(zhuǎn)小寫下劃線
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "UserName"));//user_name
// 變量小寫駝峰轉(zhuǎn)小寫連接線
System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "userName"));//user-name
}
}
到此這篇關(guān)于Java下變量大小寫駝峰、大小寫下劃線、大小寫連線轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Java 大小寫駝峰、大小寫下劃線、大小寫連線轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java線程同步機(jī)制_動力節(jié)點(diǎn)Java學(xué)院整理
在之前,已經(jīng)學(xué)習(xí)到了線程的創(chuàng)建和狀態(tài)控制,但是每個線程之間幾乎都沒有什么太大的聯(lián)系。可是有的時候,可能存在多個線程多同一個數(shù)據(jù)進(jìn)行操作,這樣,可能就會引用各種奇怪的問題?,F(xiàn)在就來學(xué)習(xí)多線程對數(shù)據(jù)訪問的控制吧2017-05-05

