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字符串方法相关推荐

  1. 应用新的JDK 11字符串方法

    在" 使用JDK 11的Java字符串上的新方法 "和" String#repeat即将加入Java? ",我讨论了JDK 11引入Java String的六个 ...

  2. 新的JDK 11文件方法isSameContent()

    已经建议通过JDK-8202285将名为isSameContents()方法添加到JDK 11中的Files类中[[(fs)向文件中添加用于比较文件内容的方法"]. 由Joe Wang提议 ...

  3. 用于从文件读取/写入字符串的新JDK 11文件方法

    我之前的文章主要关注可能会添加到JDK 11中的Files.isSameContent()方法. JDK-8201276 ["(fs)向文件添加方法以从文件读取字符串或向文件写入字符串&qu ...

  4. jdk8读取文件_用于从文件读取/写入文件的新JDK 11文件方法

    jdk8读取文件 我之前的文章重点讨论了可能添加到JDK 11中的Files.isSameContent()方法. JDK-8201276 ["(fs)向文件添加方法以从文件读取字符串或向文 ...

  5. Java JDK 11:现在可以使用所有新功能

    为什么80%的码农都做不了架构师?>>>    删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能 目录 哪里可以下载JDK 11 Java 11 JDK中 ...

  6. JDK 11:新的默认收集方法toArray(IntFunction)

    " JDK 11 Early-Access发行说明 "表明JDK 11的Early Access Build 20在Collection接口上包括一个新的默认方法 ,该方法 &qu ...

  7. 一篇文章了解新发布的Java JDK 11

    Java JDK 11删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能. Java Development Kit(JDK)11现已普遍可用,可供生产使用,提高了工作效率, ...

  8. 还没用上 JDK 11吧,JDK 12 早期访问构建版使用

    JDK 更新速度快的飞起,JDK 12 早期访问构建版已发布,你现在用到了第几版本? 本周Java的最大新闻可能是JDK 11的正式发布.不过在 6 月底,JDK 11 就已经进入了 Rampdown ...

  9. java jdk设置字符集_使用JDK 11在Java字符串上的新方法

    java jdk设置字符集 Java的String类似乎将在JDK 11中获得一些新方法,该方法将于2018年9月发布. 错误号 错误标题 新的String方法 描述 JDK-8200425 字符串: ...

最新文章

  1. php yii2支付宝开发,yii2 支付宝支付教程 [ 2.0 版本 ]
  2. 指针数组 数组指针 函数指针 指针函数
  3. 全面改进Transformer类预训练模型,自然语言任务超越BERT
  4. 神一样的一段代码与人类智慧
  5. python内置模块~shutil
  6. c/c++内存分配详解
  7. Origin 使用笔记
  8. VBA系列(1)——VBA基础知识
  9. 摄影中快门、光圈、ISO之间的关系
  10. html中亮度怎么写,HTML+CSS+JS模仿win10亮度调节效果的示例代码
  11. 英科学家用扫描技术成功读取大脑记忆
  12. JavaScript + CSS/CSS3 + HTML 网页登陆 + 注册界面设计
  13. PHP socket 连接 Socket server
  14. jekins基本配置
  15. 大力出奇迹,GPU 加速 TiDB | TiDB Hackathon 2020 优秀项目分享
  16. 小程序抢购页面倒计时定时器
  17. java 程序员 基石
  18. 国内物联网平台(8):中移物联网开放平台OneNet
  19. Network Slimming
  20. Proxmox VE(PVE)关闭订阅通知窗口及配置新软件源

热门文章

  1. 【学习笔记】同余最短路
  2. 洛谷P7361:拜神(SA、二分、主席树、启发式合并)
  3. 粉刷木板(ybtoj-单调队列)
  4. CF835E-The penguin‘s game【交互】
  5. P3308-[SDOI2014]LIS【最小割】
  6. 【期望DP】概率充电器(luogu 4284)
  7. 【DP】【BFS】迷之阶梯
  8. 【树状数组】【dfs】树
  9. mybatis源码阅读(八) ---Interceptor了解一下
  10. 作为一名Java程序员,你竟然不知道Instrumentation