最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)解釋的很清楚了,不愧為大神之作?。?/p>

以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)文章

  • Java遞歸模糊查詢文件實例代碼

    Java遞歸模糊查詢文件實例代碼

    遞歸算法是一種直接或間接地調(diào)用自身的算法,在計算機編寫程序中,遞歸算法對解決一大類問題是十分有效的,它往往使算法的描述簡潔而且易于理解,這篇文章主要給大家介紹了關(guān)于Java遞歸模糊查詢文件的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • JSP安全開發(fā)之XSS漏洞詳解

    JSP安全開發(fā)之XSS漏洞詳解

    XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面里插入惡意腳本代碼,而程序?qū)τ谟脩糨斎雰?nèi)容未過濾,當(dāng)用戶瀏覽該頁之時,嵌入其中Web里面的腳本代碼會被執(zhí)行,從而達到惡意攻擊用戶的特殊目的。
    2016-09-09
  • Java線程同步機制_動力節(jié)點Java學(xué)院整理

    Java線程同步機制_動力節(jié)點Java學(xué)院整理

    在之前,已經(jīng)學(xué)習(xí)到了線程的創(chuàng)建和狀態(tài)控制,但是每個線程之間幾乎都沒有什么太大的聯(lián)系。可是有的時候,可能存在多個線程多同一個數(shù)據(jù)進行操作,這樣,可能就會引用各種奇怪的問題?,F(xiàn)在就來學(xué)習(xí)多線程對數(shù)據(jù)訪問的控制吧
    2017-05-05
  • Spring Bean六種作用域的適用場景和使用方式

    Spring Bean六種作用域的適用場景和使用方式

    本文主要介紹了Spring Bean六種作用域的適用場景和使用方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 詳細解讀java同步之synchronized解析

    詳細解讀java同步之synchronized解析

    synchronized關(guān)鍵字是Java里面最基本的同步手段,下面我們來一起學(xué)習(xí)一下
    2019-05-05
  • java Date類詳解及使用總結(jié)

    java Date類詳解及使用總結(jié)

    這篇文章主要介紹了java Date類詳解及使用總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Spring Boot系列教程之日志配置

    Spring Boot系列教程之日志配置

    這篇文章主要給大家介紹了關(guān)于Spring Boot系列教程之日志配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Java中的clone方法實例詳解

    Java中的clone方法實例詳解

    這篇文章主要介紹了Java中的clone方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • java多線程volatile內(nèi)存語義解析

    java多線程volatile內(nèi)存語義解析

    這篇文章主要介紹了java多線程volatile內(nèi)存語義解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Javafx實現(xiàn)國際象棋游戲

    Javafx實現(xiàn)國際象棋游戲

    這篇文章主要為大家詳細介紹了Javafx實現(xiàn)國際象棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論

淮安市| 延长县| 天水市| 阿合奇县| 莒南县| 凤凰县| 玛纳斯县| 安国市| 盐边县| 修文县| 陈巴尔虎旗| 南平市| 沧州市| 开平市| 太原市| 建瓯市| 宁陵县| 瑞丽市| 巴林右旗| 贵阳市| 宜川县| 阿拉善左旗| 禄丰县| 昂仁县| 准格尔旗| 贵港市| 卓资县| 文成县| 丰城市| 剑阁县| 景洪市| 华池县| 景泰县| 南溪县| 清新县| 潮州市| 绍兴市| 中宁县| 建始县| 原平市| 会理县|