Guava之CaseFormat


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

其對應的枚舉常量

    

  從以上枚舉中可以看出,java程序員最常用的轉換類型為:UPPER_CAMEL,即我們常說的"駝峰式"編寫方式;其次,我們常用的是:UPPER_UNDERSCORE,即我們常用的常量命名法,不同單詞見使用下划線分割的書寫方式。

對應有的方法

   

CaseFormat 示例

 

public static void main(String args[]) {
        CaseFormatTest tester = new CaseFormatTest();
        tester.testCaseFormat();
    }

    private void testCaseFormat() {
        System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"));
        System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"));
        System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data"));
        
        System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "testdata"));
        System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "TestData"));
        System.out.println(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "testData"));
    }

 

運行結果如下:

testData
testData
TestData

testdata
test_data
test-data

   從以上結果我們可以分析,倒數第3個結果沒有轉換成功,將原字符串打印出來,推導出guava不可能做到那么智能,能夠自動識別一個單詞之后將兩個單詞用下划線分隔開(要想做也是可以的,需要將英文詞庫加載一遍,之后每次掃描給定的字符串進行單詞分割,這樣做就太復雜了),它只能通過給定字符串大小寫的方式或者上面3個實例有分隔符的方式才能拆分開,故倒數第二個就能正確識別出來。所以在使用guava轉換的時候一定要注意了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM