switch字符串jdk_应用新的JDK 11字符串方法
switch字符串jdk
在“ 使用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
switch字符串jdk
總結
以上是生活随笔為你收集整理的switch字符串jdk_应用新的JDK 11字符串方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无处不再的广告_我的机器人现在无处可去。
- 下一篇: 怎么让banner自动切换(banner