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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

应用新的JDK 11字符串方法

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

在“ 使用JDK 11的Java字符串上的新方法 ”和“ String#repeat即將加入Java? ”,我討論了JDK 11引入Java String的六個新方法。

可用的早期訪問JDK 11構建已經包含了這些新方法,在這篇文章中,我將使用其中的一種早期訪問構建對其進行演示。

我正在使用OpenJDK JDK 11 Early Access Build 20來編譯和運行本文中顯示的示例。

本文通過OpenJDK JDK 11 Early Access Build 20演示了為JDK 11添加到String的六個方法:

  • String.repeat(int)
  • String.lines()
  • String.strip()
  • String.stripLeading()
  • String.stripTrailing()
  • String.isBlank()

GitHub上提供了本文中演示的示例的源代碼。

String.repeat(int)

自從在Groovy中體驗到String.repeat(int)方法以來,該函數便提供了我希望在Java中看到的便捷功能。 顧名思義,此方法重復int參數提供的String次數。 將來在生成簡單演示并將其用于本示例時,我可能會經常使用此方法。 下一個代碼清單演示了如何使用String.repeat(int)來為演示輸出輕松生成標頭分隔符。

使用String.repeat(int)

/*** Write provided {@code String} in header. Note that this* implementation uses {@code String.repeat(int)}.** @param headerText Title of header.*/ private static void writeHeader(final String headerText) {final String headerSeparator = "=".repeat(headerText.length()+4);out.println("\n" + headerSeparator);out.println("= " + headerText + " =");out.println(headerSeparator); }

writeHeader(String)方法使用String.repeat(int)輕松地從“ = ”字符生成“標題分隔符”行,足以覆蓋提供的headerText長度和4個其他字符,以允許額外的“ = ”和額外的空間在“標題文本”的每一側。 本文中的所有其他演示示例都使用writeHeader(String)方法,因此將通過這些示例進行演示。

String.lines()

String.lines()方法拆分由其行終止符在其上調用的String ,并返回由這些行終止符劃分的Strings Stream 。

使用String.lines()

/*** Demonstrate method {@code String.lines()} added with JDK 11.*/ public static void demonstrateStringLines() {final String originalString = prepareStringWithLineTerminators();final String stringWithoutLineSeparators= originalString.replaceAll("\\n", "\\\\n");writeHeader("String.lines() on '" + stringWithoutLineSeparators + "'");final Stream<String> strings = originalString.lines();strings.forEach(out::println); }

輸出示例顯示在下一個屏幕快照中。

String.strip()/ String.stripLeading()/ String.stripTrailing()

String.strip() , String.stripLeading()和String.stripTrailing()方法修剪目標String的正面,背面或正面和背面的空白(由Character.isWhiteSpace()確定) 。

使用String.strip()/ String.stripLeading()/ String.stripTrailing()

/*** Demonstrate method {@code String.strip()} added with JDK 11.*/ public static void demonstrateStringStrip() {final String originalString = prepareStringSurroundedBySpaces();writeHeader("String.strip() on '" + originalString + "'");out.println("'" + originalString.strip() + "'"); }/*** Demonstrate method {@code String.stripLeading()} added with JDK 11.*/ public static void demonstrateStringStripLeading() {final String originalString = prepareStringSurroundedBySpaces();writeHeader("String.stripLeading() on '" + originalString + "'");out.println("'" + originalString.stripLeading() + "'"); }/*** Demonstrate method {@code String.stripTrailing()} added with JDK 11.*/ public static void demonstrateStringStripTrailing() {final String originalString = prepareStringSurroundedBySpaces();writeHeader("String.stripTrailing() on '" + originalString + "'");out.println("'" + originalString.stripTrailing() + "'"); }

執行上述代碼后,輸出看起來像下一個屏幕快照中所示。

String.isBlank()

String.isBlank()方法指示目標String是否為空或僅包含由Character.isWhitespace(int)確定的空格字符。

使用String.isBlank()

/*** Demonstrate method {@code String.isBlank()} added with JDK 11.*/ public static void demonstrateStringIsBlank() {writeHeader("String.isBlank()");final String emptyString = "";out.println("Empty String -> " + emptyString.isBlank());final String onlyLineSeparator = System.getProperty("line.separator");out.println("Line Separator Only -> " + onlyLineSeparator.isBlank());final String tabOnly = "\t";out.println("Tab Only -> " + tabOnly.isBlank());final String spacesOnly = " ";out.println("Spaces Only -> " + spacesOnly.isBlank()); }

下一個屏幕快照中顯示了執行此代碼的示例。

上面顯示了代碼的一些方法稱為“ helper”方法,可以在GitHub上看到。

添加到JDK 11的String中的方法是很小的添加,但是與過去相比,與Java String相關的某些“演示”任務將變得更加容易,并減少了對第三方庫的需求。

翻譯自: https://www.javacodegeeks.com/2018/07/applying-new-jdk-11-string-methods.html

總結

以上是生活随笔為你收集整理的应用新的JDK 11字符串方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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