Java下變量大小寫駝峰、大小寫下劃線、大小寫連線轉(zhuǎn)換
有時(shí)候需要處理對(duì)象屬性的getter、setter方法,或者將屬性與數(shù)據(jù)表字段進(jìn)行相互轉(zhuǎn)換,這時(shí)候就需要用到將小寫駝峰轉(zhuǎn)換為小寫下劃線方式,當(dāng)然我們可以自己手?jǐn)]一段代碼來實(shí)現(xiàn),但Google的大神們,已經(jīng)給我們提供了一個(gè)現(xiàn)成的開發(fā)包,也就是Google guava包。直接拿來主義吧!
引入guava依賴包這個(gè)非常簡單,只需要在工程的pom.xml中引入依賴的坐標(biāo)即可。
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>25.1-jre</version></dependency>
可以做什么
變量的一些轉(zhuǎn)換處理,只需要用到博大精深的guava包中的一個(gè)枚舉類CaseFormat.class。可以看到該枚舉類有5個(gè)枚舉變量。
枚舉就是一個(gè)單例,我們可以直接使用枚舉變量的方法,因?yàn)橐呀?jīng)是一個(gè)單例對(duì)象了嘛!如果你還不了解單例,那這里簡單解釋一下,單例就是在一個(gè)java進(jìn)程(也就是當(dāng)前工程的JVM中)只存在唯一一個(gè)對(duì)象,枚舉據(jù)說是最簡單的單例實(shí)現(xiàn)方式了。
那這幾個(gè)枚舉常量分別代表什么意思呢?
其實(shí)代碼的注釋里已經(jīng)解釋的很清楚了,不愧為大神之作啊!
以CaseFormat.LOWER_HYPHEN為例,注釋如下:
/** Hyphenated variable naming convention, e.g., 'lower-hyphen'. */
代表連字符的變量命名規(guī)范,例如user-name,user-age等。
為了減少大家的閱讀源碼的工作量,這里把5個(gè)枚舉及意義都拿出來說一下。
枚舉變量 說明 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個(gè)枚舉變量,通過排列組合知識(shí),可以知道,我們可以進(jìn)行變量轉(zhuǎn)換的形式總共有5*4=20種。
怎么做變量轉(zhuǎn)換下面通過幾個(gè)典型的例子,演示怎么將一種變量命名規(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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)2. 如何在jsp界面中插入圖片3. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析4. PHP循環(huán)與分支知識(shí)點(diǎn)梳理5. XML基本概念XPath、XSLT與XQuery函數(shù)介紹6. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過程7. jsp實(shí)現(xiàn)登錄界面8. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案9. ASP.NET泛型三之使用協(xié)變和逆變實(shí)現(xiàn)類型轉(zhuǎn)換10. jsp+servlet簡單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))
