日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Google Guava学习笔记——基础工具类Joiner的使用

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Google Guava学习笔记——基础工具类Joiner的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  Guava 中有一些基礎的工具類,如下所列:

  1,Joiner 類:根據給定的分隔符把字符串連接到一起。MapJoiner 執行相同的操作,但是針對 Map 的 key 和 value。

  2,Splitter 類:與 Joiner 操作相反的類,是根據給定的分隔符,把一個字符串分隔成若個子字符串。

  3,CharMatcher,Strings 類:對字符串通用的操作,例如移除字符串的某一部分,字符串匹配等等操作。

  4,其他類:針對Object操作的方法,例如 toString 和 hashCode 方法等。

?

  使用 Joiner 類

  我們通常根據指定的分隔符來連接字符串是這樣做的。

1 public String buildString(List<String> stringList, String delimiter){ 2 StringBuilder builder = new StringBuilder(); 3 for (String s : stringList) { 4 if(s != null){ 5 builder.append(s).append(delimiter); 6 } 7 } 8 builder.setLength(builder.length() – delimiter.length()); 9 return builder.toString(); 10 }

  上面的代碼注意的一點就是我們要移除字符串最后的一個分隔符。雖然不難,但是很無聊,下面用 Joiner 類來實現同樣的功能:

    

Joiner.on("|").skipNulls().join(stringList); // 默認使用“|”作為分隔符

  是不是很簡潔,如果你想替換為 null 的字符串,使用下面的方法:

Joiner.on("|").useForNull("no value").join(stringList);

  需要注意的是,Joiner 不僅可以操作字符串,還可以是數組,迭代器,可變參數。Joiner 類是不可變類,因此是線程安全的,它可以處理 static final 的變量,考慮到這一點,我們看下面的代碼:

Joiner stringJoiner = Joiner.on("|").skipNulls();//the useForNull() method returns a new instance of the Joiner!stringJoiner.useForNull("missing");stringJoiner.join("foo","bar",null);

  在上面的代碼中,useForNull()方法沒有起作用,null值還是被忽略了。

  Joiner 不僅可以返回string ,還有方法能夠處理StringBuilder類:

StringBuilder stringBuilder = new StringBuilder(); Joiner joiner = Joiner.on("|").skipNulls(); //returns the StringBuilder instance with the values foo,bar,baz appeneded with "|" delimiters joiner.appendTo(stringBuilder,"foo","bar","baz");

  只要是實現了 Appendble 接口的類都可以用 Joiner 來處理。

FileWriter fileWriter = new FileWriter(new File("path")): List<Date> dateList = getDates(); Joiner joiner = Joiner.on("#").useForNulls(" "); //returns the FileWriter instance with the values appended into it joiner.appendTo(fileWriter,dateList);

  上面的例子中,我們傳遞了 FileWriter 實例 和 Data 對象給 Joiner,Joiner 將連接list中所有的數據給 FileWriter 實例并返回。

  如上所示,Joiner 是一個非常有用的類,很容易處理日常的一些任務。還有一個特殊的方法,它和 Joiner 的工作方式是一樣,但是它連接的是根據指定的分隔符連接 Map 的 key 和 value。

mapJoiner = Joiner.on("#").withKeyValueSeparator("=");

  下面的單元測試類展示了如何連接 Map 的 key-value。

Map<String, String> testMap = Maps.newLinkedHashMap();testMap.put("Washington D.C", "Redskins");testMap.put("New York City", "Giants");testMap.put("Philadelphia", "Eagles");testMap.put("Dallas", "Cowboys");String returnedString = Joiner.on("#").withKeyValueSeparator("=").join(testMap);System.out.println(returnedString);

  運行結果:Washington D.C=Redskins#New York City=Giants#Philadelphia=Eagles#Dallas=Cowboys

?

?

?

?

    


?

?

轉載于:https://www.cnblogs.com/IcanFixIt/p/4499729.html

總結

以上是生活随笔為你收集整理的Google Guava学习笔记——基础工具类Joiner的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。