使用JDK11中String类的新方法_第1页
使用JDK11中String类的新方法_第2页
使用JDK11中String类的新方法_第3页
使用JDK11中String类的新方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PAGE 4使用JDK11中String类的新方法使用JDK11中String类的新方法在 HYPERLINK /2018/05/jdk-11-string-methods.html JDK11中String的新方法和 HYPERLINK /2018/02/string-repeat-coming-to-java.html java带来了String的repeat方法两篇文章中,我讨论了 HYPERLINK /projects/jdk/11/ JDK11中 HYPERLINK /javase/10/docs/api/java/lang/String.html java String的六个新方

2、法。目前已经可用的 HYPERLINK /11/ early access JDK 11 builds版本已经包括了这些新的方法。 HYPERLINK /jdk/jdk/log?revcount=10000&rev=reverse(%22jdk-11%2B19%22%3A%3A%22jdk-11%2B20%22 在这篇文章中,我将要给大家演示如何使用这些新的方法。在下面的例子中,我使用了OpenJDK JDK 11 Early Access Build 20)这个版本来编译和运行代码。在OpenJDK JDK 11 Early Access Build 20这个版本中新加入的六个方法分别是:S

3、tring.repeat(int) String.lines() String.strip() String.stripLeading() String.stripTrailing() String.isBlank()这些示例的源码已经放在git上:示例源码String.repeat(int)因为我之前在groovy中曾使用过这个方法提供的功能,因此String.repeat(int)方法终于提供了我一直想在java中看到的便捷功能。正如方法名字一样,这个方法会按照参数int提供的次数来重复字符串。我将会使用这个方法来生成更多的简单的示例,并且也用这个方法来演示这篇文章中的例子。下面的代码演示

4、了通过String.repeat(int)方法来生成并输出header separater。String.repeat(int)示例/*Write provided code String in header. Note that thisimplementation uses code String.repeat(int).*param headerText Title of header.*/private static void writeHeader(final String headerText)final String headerSeparator = =.repeat(head

5、erText.length()+4); out.println(n + headerSeparator);out.println(= + headerText + =); out.println(headerSeparator);writeHeader(String)方法使用String.repeat(int)就能很容易地通过=来生成header separater,从而能盖住headerText的内容。它额外添加了4个=,因为headerText前后各加了一个=和一个空格。在这篇文章中,writeHeader(String)方法将会被用在其他示例中,同时也在其他示例中被用来展示其功能。Str

6、ing.lines()String.lines() 方法通过换行符把字符串分开,并返回一个字符串流,并且该字符串流也是根据换行符来分隔的。String.lines()示例/* Demonstrate method code String.lines() added with JDK 11.*/public static void demonstrateStringLines()final String originalString = prepareStringWithLineTerminators(); final String stringWithoutLineSeparators= or

7、iginalString.replaceAll(n, n); writeHeader(String.lines() on + stringWithoutLineSeparators + ); final Stream strings = originalString.lines(); strings.forEach(out:println);上面的代码输出结果如下:String.strip()/String.stripLeading()/String.stripTrailing()String.strip(), String.stripLeading()和String.stripTrailin

8、g()方法的作用是分别去掉了字符串头和尾的空白符,字符串头的空白符,字符串尾的空白符(空白符如Character.isWhiteSpace(int)方法结果验证)。String.strip/String.stripLeading()/String.stripTrailing()示例/* Demonstrate method code String.strip() added with JDK 11.*/public static void demonstrateStringStrip()final String originalString = prepareStringSurroundedB

9、ySpaces(); 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

10、(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(Strin

11、g.stripTrailing() on + originalString + ); out.println( + originalString.stripTrailing() + );上面的代码执行结果如下所示:String.isBlank()String.isBlank()方法用来验证当前字符串是否是空的, 或者是否只包括空白字符(空白字符由Character.isWhiteSpace(int)来验证)/* Demonstrate method code String.isBlank() added with JDK 11.*/public static void demonstrateS

12、tringIsBlank()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(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论