https://dzone.com/articles/applying-new-jdk-11-string-methods
作者:Dustin Marx
译者:玄圣
在《JDK11中String的新方法》和《java带来了String的repeat方法》两篇文章中,我讨论了JDK11中java String的六个新方法。目前已经可用的early access JDK 11 builds版本已经包括了这些新的方法。在这篇文章中,我将要给大家演示如何使用这些新的方法。在下面的例子中,我使用了OpenJDK JDK 11 Early Access Build 20这个版本来编译和运行代码。
在OpenJDK JDK 11 Early Access Build 20这个版本中新加入的六个方法分别是:
String.repeat(int)
String.lines()
String.strip()
String.stripLeading()
String.stripTrailing()
String.isBlank()
这些示例的源码已经放在git上:示例源码
String.repeat(int)
因为我之前在groovy中曾使用过这个方法提供的功能,因此String.repeat(int)方法终于提供了我一直想在java中看到的便捷功能。正如方法名字一样,这个方法会按照参数int提供的次数来重复字符串。我将会使用这个方法来生成更多的简单的示例,并且也用这个方法来演示这篇文章中的例子。下面的代码演示了通过String.repeat(int)方法来生成并输出header separater。
String.repeat(int)示例
writeHeader(String)方法使用String.repeat(int)就能很容易地通过"="来生成"header separater",从而能盖住headerText的内容。它额外添加了4个=,因为headerText前后各加了一个=和一个空格。在这篇文章中,writeHeader(String)方法将会被用在其他示例中,同时也在其他示例中被用来展示其功能。
String.lines()
String.lines() 方法通过换行符把字符串分开,并返回一个字符串流,并且该字符串流也是根据换行符来分隔的。
String.lines()示例
上面的代码输出结果如下:
String.strip()/String.stripLeading()/String.stripTrailing()
String.strip(), String.stripLeading()和String.stripTrailing()方法的作用是分别去掉了字符串头和尾的空白符,字符串头的空白符,字符串尾的空白符(空白符如Character.isWhiteSpace(int)方法结果验证)。
String.strip/String.stripLeading()/String.stripTrailing()示例
上面的代码执行结果如下所示:
String.isBlank()String.isBlank()方法用来验证当前字符串是否是空的,或者是否只包括空白字符(空白字符由`Character.isWhiteSpace(int)来验证)
代码执行结果如下所示:
上面示例中有些方法没有直接在代码中展示,详情可以查看GitHub
https://github.com/dustinmarx/javademos/blob/master/src/dustin/examples/strings/String11Demo.java
上面的方法添加到JDK 11中是对String类的一些小补充,但是却让String一些展示性的功能更加容易,也减少了对第三方库包的依赖。
领取专属 10元无门槛券
私享最新 技术干货