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字符串方法相关推荐
- 应用新的JDK 11字符串方法
在" 使用JDK 11的Java字符串上的新方法 "和" String#repeat即将加入Java? ",我讨论了JDK 11引入Java String的六个 ...
- 新的JDK 11文件方法isSameContent()
已经建议通过JDK-8202285将名为isSameContents()方法添加到JDK 11中的Files类中[[(fs)向文件中添加用于比较文件内容的方法"]. 由Joe Wang提议 ...
- 用于从文件读取/写入字符串的新JDK 11文件方法
我之前的文章主要关注可能会添加到JDK 11中的Files.isSameContent()方法. JDK-8201276 ["(fs)向文件添加方法以从文件读取字符串或向文件写入字符串&qu ...
- jdk8读取文件_用于从文件读取/写入文件的新JDK 11文件方法
jdk8读取文件 我之前的文章重点讨论了可能添加到JDK 11中的Files.isSameContent()方法. JDK-8201276 ["(fs)向文件添加方法以从文件读取字符串或向文 ...
- Java JDK 11:现在可以使用所有新功能
为什么80%的码农都做不了架构师?>>> 删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能 目录 哪里可以下载JDK 11 Java 11 JDK中 ...
- JDK 11:新的默认收集方法toArray(IntFunction)
" JDK 11 Early-Access发行说明 "表明JDK 11的Early Access Build 20在Collection接口上包括一个新的默认方法 ,该方法 &qu ...
- 一篇文章了解新发布的Java JDK 11
Java JDK 11删除了CORBA,Java EE和JavaFX支持,但添加了十几个主要新功能. Java Development Kit(JDK)11现已普遍可用,可供生产使用,提高了工作效率, ...
- 还没用上 JDK 11吧,JDK 12 早期访问构建版使用
JDK 更新速度快的飞起,JDK 12 早期访问构建版已发布,你现在用到了第几版本? 本周Java的最大新闻可能是JDK 11的正式发布.不过在 6 月底,JDK 11 就已经进入了 Rampdown ...
- java jdk设置字符集_使用JDK 11在Java字符串上的新方法
java jdk设置字符集 Java的String类似乎将在JDK 11中获得一些新方法,该方法将于2018年9月发布. 错误号 错误标题 新的String方法 描述 JDK-8200425 字符串: ...
最新文章
- php yii2支付宝开发,yii2 支付宝支付教程 [ 2.0 版本 ]
- 指针数组 数组指针 函数指针 指针函数
- 全面改进Transformer类预训练模型,自然语言任务超越BERT
- 神一样的一段代码与人类智慧
- python内置模块~shutil
- c/c++内存分配详解
- Origin 使用笔记
- VBA系列(1)——VBA基础知识
- 摄影中快门、光圈、ISO之间的关系
- html中亮度怎么写,HTML+CSS+JS模仿win10亮度调节效果的示例代码
- 英科学家用扫描技术成功读取大脑记忆
- JavaScript + CSS/CSS3 + HTML 网页登陆 + 注册界面设计
- PHP socket 连接 Socket server
- jekins基本配置
- 大力出奇迹,GPU 加速 TiDB | TiDB Hackathon 2020 优秀项目分享
- 小程序抢购页面倒计时定时器
- java 程序员 基石
- 国内物联网平台(8):中移物联网开放平台OneNet
- Network Slimming
- Proxmox VE(PVE)关闭订阅通知窗口及配置新软件源