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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

jdk8 字符串_在JDK 8中连接字符串

發布時間:2023/12/3 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jdk8 字符串_在JDK 8中连接字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jdk8 字符串

JDK 8引入了語言功能,例如lambda表達式 , 流 ,甚至是新的Date / Time API ,這些都會改變我們編寫Java應用程序的方式。 但是,還有一些新的API和功能可能不太“改變游戲規則”,但仍為Java編程語言帶來了更大的便利性和表現力。 在本文中,我將介紹這些較小的功能之一,并研究在JDK 8中輕松連接多個String的能力。

在JDK 8中連接多個String的最簡單方法也許是通過遍歷Java類String的兩個新的靜態方法: join(CharSequence,CharSequence…)和join(CharSequence,Iterable) 。 接下來的兩個代碼清單演示了應用這兩個String.join方法有多么容易。

使用String.join(CharSequence,CharSequence ...)

/*** Words associated with the blog at http://marxsoftware.blogspot.com/ in array.*/ private final static String[] blogWords = {"Inspired", "by", "Actual", "Events"};/*** Demonstrate joining multiple Strings using static String* "join" method that accepts a "delimiter" and a variable* number of Strings (or an array of Strings).*/ private static void demonstrateStringJoiningArray() {final String blogTitle = String.join(" ", blogWords);out.println("Blog Title: " + blogTitle);final String postTitle = String.join(" ", "Joining", "Strings", "in", "JDK", "8");out.println("Post Title: " + postTitle); }

使用String.join(CharSequence,Iterable)

/*** Pieces of a Media Access Control (MAC) address.*/ private final static List<String> macPieces;static {macPieces = new ArrayList<>();macPieces.add("01");macPieces.add("23");macPieces.add("45");macPieces.add("67");macPieces.add("89");macPieces.add("ab"); };/*** Demonstrate joining multiple Strings using static String* "join" method that accepts a "delimiter" and an Iterable* on Strings.*/ private static void demonstrateStringJoiningIterable() {final String macAddress = String.join(":", macPieces);out.println("MAC Address: " + macAddress); }

運行上面兩個代碼清單的輸出是:

Blog Title: Inspired by Actual Events Post Title: Joining Strings in JDK 8 MAC Address: 01:23:45:67:89:ab

使用兩個靜態String.join方法是組合字符串的簡便方法,但是JDK 8引入的StringJoiner類提供了更大的功能和靈活性。 下一個代碼清單演示了如何實例化StringJoiner并將其傳遞給指定的定界符(小數點),前綴(打開括號)和后綴(關閉括號)。

簡單的字符串連接器使用

/*** Demonstrate joining multiple Strings using StringJoiner* with specified prefix, suffix, and delimiter.*/ private static void demonstrateBasicStringJoiner() {// StringJoiner instance with decimal point for delimiter, opening// parenthesis for prefix, and closing parenthesis for suffix.final StringJoiner joiner = new StringJoiner(".", "(", ")");joiner.add("216");joiner.add("58");joiner.add("216");joiner.add("206");final String ipAddress = joiner.toString();out.println("IP Address: " + ipAddress); }

運行上面的代碼將以下字符串打印到標準輸出:“ IP地址:(216.58.216.206)”

StringJoiner是一種特別有吸引力的方法,在這種情況下,正在使用StringBuilder將定界字符添加到要作為某種迭代類型的一部分而構建的String中。 在這種情況下,通常有必要在最后一次迭代中刪除添加到該構建器末尾的額外字符。 StringJoiner足夠“聰明”,只在要連接的字符串之間添加定界符,而不是在最后一個字符串后添加定界符。 連續調用add(CharSequence)方法看起來與StringBuilder / StringBuffer API非常相似。

我將在本文中介紹的最后一個JDK 8引入的用于連接String的方法是將流支持的集合與連接 收集器一起使用 ( 歸約操作 )。 在下一個代碼清單中對此進行了演示,其輸出與用于通過String.join打印MAC地址的String.join方法相同,該方法接受Iterable作為其第二個參數。

字符串與收藏集的流連接

/*** Demonstrate joining Strings in a collection via that collection's* Stream and use of the Joining Collector.*/ private static void demonstrateStringJoiningWithCollectionStream() {final String macAddress =macPieces.stream().map(piece -> piece.toString()).collect(Collectors.joining(":"));out.println("MAC Address: " + macAddress); }

如果開發人員希望能夠為連接的字符串提供前綴和后綴,而不必連續調用add使用StringJoiner連接String所需的方法,則Collectors.joining(CharSequence,CharSequence,CharSequence)方法是完美的選擇。 下一個代碼示例顯示了上面的IP地址示例,用于演示StringJoiner ,但這一次是使用集合,流和StringJoiner收集器實現的。 輸出與前面的示例相同,無需為每個要連接的String指定add(CharSequence) 。

字符串與Collection的流,前綴和后綴聯接

/*** Demonstrate joining Strings in a collection via that collection's* Stream and use of a Joining Collector that with specified prefix * and suffix.*/ private static void demonstrateStringJoiningWithPrefixSuffixCollectionStream() {final List<String> stringsToJoin = Arrays.asList("216", "58", "216", "206");final String ipAddress =stringsToJoin.stream().map(piece -> piece.toString()).collect(Collectors.joining(".", "(", ")"));out.println("IP Address: " + ipAddress); }

這篇博客文章介紹了JDK 8中提供的三種連接字符串的方法:

  • 靜態String.join方法
  • StringJoiner實例
  • 加入收集器的收集流
  • 翻譯自: https://www.javacodegeeks.com/2015/02/joining-strings-in-jdk-8.html

    jdk8 字符串

    總結

    以上是生活随笔為你收集整理的jdk8 字符串_在JDK 8中连接字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

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