欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java下變量大小寫駝峰、大小寫下劃線、大小寫連線轉(zhuǎn)換

 更新時間:2021年06月30日 15:23:41   作者:chanllenge  
有時候需要處理對象屬性的getter、setter方法,或者將屬性與數(shù)據(jù)表字段進行相互轉(zhuǎn)換,感興趣的可以了解一下

寫在前面

有時候需要處理對象屬性的getter、setter方法,或者將屬性與數(shù)據(jù)表字段進行相互轉(zhuǎn)換,這時候就需要用到將小寫駝峰轉(zhuǎn)換為小寫下劃線方式,當(dāng)然我們可以自己手擼一段代碼來實現(xiàn),但Google的大神們,已經(jīng)給我們提供了一個現(xiàn)成的開發(fā)包,也就是Google guava包。直接拿來主義吧!

引入guava依賴包

這個非常簡單,只需要在工程的pom.xml中引入依賴的坐標即可。

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>25.1-jre</version>
        </dependency>

可以做什么

變量的一些轉(zhuǎn)換處理,只需要用到博大精深的guava包中的一個枚舉類CaseFormat.class??梢钥吹皆撁杜e類有5個枚舉變量。

枚舉就是一個單例,我們可以直接使用枚舉變量的方法,因為已經(jīng)是一個單例對象了嘛!如果你還不了解單例,那這里簡單解釋一下,單例就是在一個java進程(也就是當(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個枚舉變量,通過排列組合知識,可以知道,我們可以進行變量轉(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)文章

  • spring-boot項目啟動遲緩異常排查解決記錄

    spring-boot項目啟動遲緩異常排查解決記錄

    這篇文章主要為大家介紹了spring-boot項目啟動遲緩異常排查解決記錄,突然在本地啟動不起來了,表象特征就是在本地IDEA上運行時,進程卡住也不退出,應(yīng)用啟動時加載相關(guān)組件的日志也不輸出
    2022-02-02
  • 關(guān)于文件上傳MultipartBody的使用方法

    關(guān)于文件上傳MultipartBody的使用方法

    這篇文章主要介紹了關(guān)于文件上傳MultipartBody的使用方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • SpringBoot如何通過Feign調(diào)用傳遞Header中參數(shù)

    SpringBoot如何通過Feign調(diào)用傳遞Header中參數(shù)

    這篇文章主要介紹了SpringBoot通過Feign調(diào)用傳遞Header中參數(shù),本文給大家分享兩種解決方案給大家詳細講解,需要的朋友可以參考下
    2023-04-04
  • 基于Java的MathML轉(zhuǎn)圖片的方法(示例代碼)

    基于Java的MathML轉(zhuǎn)圖片的方法(示例代碼)

    最近接到一個新需求mathML轉(zhuǎn)圖片怎么實現(xiàn)呢?剛開始還真是蒙圈了,不知道怎么實現(xiàn),今天小編記錄一種基于Java的MathML轉(zhuǎn)圖片的方法,感興趣的朋友一起看看吧
    2021-06-06
  • Java8學(xué)習(xí)教程之lambda表達式語法介紹

    Java8學(xué)習(xí)教程之lambda表達式語法介紹

    眾所周知lambda表達式是JAVA8中提供的一種新的特性,它支持Java也能進行簡單的“函數(shù)式編程”。 下面這篇文章主要給大家介紹了關(guān)于Java8學(xué)習(xí)教程之lambda表達式語法的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • java Quartz定時器任務(wù)與Spring task定時的幾種實現(xiàn)方法

    java Quartz定時器任務(wù)與Spring task定時的幾種實現(xiàn)方法

    本篇文章主要介紹了java Quartz定時器任務(wù)與Spring task定時的幾種實現(xiàn)方法的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • java實現(xiàn)24點游戲

    java實現(xiàn)24點游戲

    每次取出4張牌,使用加減乘除,第一個能得出24者為贏,這篇文章主要就為大家詳細介紹了java實現(xiàn)24點游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Java Socket設(shè)置timeout的幾種常用方式說明

    Java Socket設(shè)置timeout的幾種常用方式說明

    這篇文章主要介紹了Java Socket設(shè)置timeout的幾種常用方式說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java中List集合數(shù)據(jù)修改方式

    Java中List集合數(shù)據(jù)修改方式

    這篇文章主要介紹了Java中List集合數(shù)據(jù)修改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java基于SpringBoot和tk.mybatis實現(xiàn)事務(wù)讀寫分離代碼實例

    Java基于SpringBoot和tk.mybatis實現(xiàn)事務(wù)讀寫分離代碼實例

    這篇文章主要介紹了Java基于SpringBoot和tk.mybatis實現(xiàn)事務(wù)讀寫分離代碼實例,讀寫分離,基本的原理是讓主數(shù)據(jù)庫處理事務(wù)性增、改、刪操作,而從數(shù)據(jù)庫處理SELECT查詢操作,數(shù)據(jù)庫復(fù)制被用來把事務(wù)性操作導(dǎo)致的變更同步到集群中的從數(shù)據(jù)庫,需要的朋友可以參考下
    2023-10-10

最新評論