駝峯命名法(CamelCase)和下劃線命名法(UnderScoreCase)之間的轉換

因爲數據庫表的字段名通常是用下劃線命名法,但前端通常傳的是駝峯命名法的字符串,我要將其轉化爲下劃線命名法的字符串去數據庫表中進行查詢。

例:

select * from use where user_name=.....這時就要把userName轉爲user_name。

我們可以使用Google guava的Guava CaseFormat類進行轉換。

com.google.common.base.CaseFormat是一種實用工具類,以提供不同的ASCII字符格式之間的轉換。

枚舉常量

S.N. 枚舉常量和說明
1 LOWER_CAMEL
Java變量的命名規則,如“lowerCamel”。
2 LOWER_HYPHEN
連字符連接變量的命名規則,如“lower-hyphen”。
3 LOWER_UNDERSCORE
C ++變量命名規則,如“lower_underscore”。
4 UPPER_CAMEL
Java和C++類的命名規則,如“UpperCamel”。
5 UPPER_UNDERSCORE
Java和C++常量的命名規則,如“UPPER_UNDERSCORE”。

方法

S.N. 方法及說明
1 Converter<String,String> converterTo(CaseFormat targetFormat
返回一個轉換,從這個格式轉換targetFormat字符串。
2 String to(CaseFormat format, String str)
從這一格式指定格式的指定字符串 str 轉換。
3 static CaseFormat valueOf(String name)
返回此類型具有指定名稱的枚舉常量。
4 static CaseFormat[] values()
返回一個包含該枚舉類型的常量數組中的順序被聲明。

繼承的方法

這個類繼承了以下類方法:

  • java.lang.Enum
  • java.lang.Object

CaseFormat 示例

GuavaTester.java

 System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "user-3name"));
 System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "user_name"));
 System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "user_name"));

 System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "username"));
 System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "UserName"));
 System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "userName"));

結果爲:

user3name
userName
UserName
username
user_name
user-name

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章