Java11 是甲骨文于2018年9月发布,是在 8 以后发布的第一个长期支持的的版本。

String

String作为一个常用的类,在11里面增加一些新的方法

lines()

此方法返回 Stream,作用是将一串文字,以换行符分隔并返回行流

支持的换行符有:\n\r\ r \ n 正好对应不同操作系统里的换行符

public static void main(String[] args) {String str = "第一行 \n第二行 \r第三行\r\n第四行\t不换行";str.lines().forEach(System.out::println);
}

结果

第一行
第二行
第三行
第四行 不换行

isBlank()

判断字符串是否为空白,此方法使用需要和 isEmpty() 方法注意,纯空格在 isBlank() 方法中为 true,在 isEmpty() 方否中为 false

public static void main(String[] args) {String str1 = "字 符 串";String str2 = "";String str3 = " ";System.out.println(">>>> isBlank 方法 <<<<");System.out.println(str1.isBlank());System.out.println(str2.isBlank());System.out.println(str3.isBlank());System.out.println(">>>> isEmpty 方法 <<<<");System.out.println(str1.isEmpty());System.out.println(str2.isEmpty());System.out.println(str3.isEmpty());
}

结果

>>>> isBlank 方法 <<<<
false
true
true
>>>> isEmpty 方法 <<<<
false
true
false

strip()

去除字符串开头和结尾空格,不包括字符中间空格。

strip() 方法 trim() 作用一致,区别在于 strip() 方法支持 Unicode 字符集。

strip() 方法衍生而来,还有两个方法:

  • stripLeading():仅去除字符串开头空格
  • stripTrailing():仅去除字符串结尾空格
public static void main(String[] args) {String str = " 人生如 逆旅,我亦 是行人。\n但愿初相遇,不负有心人。 ";System.out.println(">>>> strip() <<<<");System.out.println(str.strip());System.out.println(">>>> trim() <<<<");System.out.println(str.trim());System.out.println(">>>> 去除开头空格 <<<<");System.out.println(str.stripLeading());System.out.println(">>>> 去除结尾空格 <<<<");System.out.println(str.stripTrailing());
}

结果

>>>> strip() <<<<
人生如 逆旅,我亦 是行人。
但愿初相遇,不负有心人。
>>>> trim() <<<<
人生如 逆旅,我亦 是行人。
但愿初相遇,不负有心人。
>>>> 去除开头空格 <<<<
人生如 逆旅,我亦 是行人。
但愿初相遇,不负有心人。
>>>> 去除结尾空格 <<<<人生如 逆旅,我亦 是行人。
但愿初相遇,不负有心人。

repeat()

将字符串重复 N 次

public static void main(String[] args) {String str = "但愿初相遇,不负有心人。\r\n";System.out.println(str.repeat(3));
}

结果

但愿初相遇,不负有心人。
但愿初相遇,不负有心人。
但愿初相遇,不负有心人。

Files

在11中,新增了一些文件方法,可以方便的从文件中读取和写入字符串

readString() 和 writeString()

public static void main(String[] args) throws IOException {Path file = Files.writeString(Files.createTempFile("FileStudy", ".txt"), "但愿初相遇,不负有心人。");System.out.println(Files.readString(file));}

结果

但愿初相遇,不负有心人。

Collection

新增带有 IntFunction 参数的方法 toArray(),作用就是将集合转为数组时候,可指定创建对应类型的数组

public static void main(String[] args) {List<String> strList = new ArrayList<>(){{add("1");add("2");add("3");}};String[] strCollections = strList.toArray(String[]::new);System.out.println(strList);System.out.println(Arrays.toString(strCollections));
}

结果

[1, 2, 3]
[1, 2, 3]

Lambda

增加了 var 关键字修饰 Lambda 中的局部变量

public static void main(String[] args) {List<String> strList = new ArrayList<>(){{add("但愿初相遇  ");add("   不负有心人");}};System.out.println(strList);String str = strList.stream().map((var e) -> e.strip()).collect(Collectors.joining(","));System.out.println(str);
}

结果

[但愿初相遇  ,    不负有心人]
但愿初相遇,不负有心人

编译

可直接使用 java xxx.java 编译运行,不用使用 javac 显示编译文件

其他

当然了除了上面这些在实际开发中会使用到的内容,还有其他的一些改变:https://www.baeldung.com/java-11-new-features

文章来自个人博客:暮城留风
https://www.liaocp.cn/2021/03/java-11-new-features.html

Java11新特性笔记相关推荐

  1. 尚硅谷es6新特性笔记

    尚硅谷es6新特性笔记 一.let与const let的变量声明以及声明特性 const的变量声明以及声明特性 const.let.var 三者之间的区别 二.变量解构赋值 三.模板字符串 四.对象的 ...

  2. Java11新特性(一)——JDK11新特性概述

    序言 关于JDK11,自从去年也就是2018年9月份 Oracle 对外公布--JDK11正式发布以来,博主就跃跃欲试,但是由于项目周期时间紧,一直未果,今年,也就是2019年2月底系统正式上线,博主 ...

  3. Java11新特性(二)——JDK11绿色免安装版环境变量配置教程

    前言 在实际的工作环境中,因为资源有限,一个人在公司,不可能配备多台电脑,所以就不可能有多个环境,但是一个人可能存在于多个项目,例如:在公司里面,尤其在一个大型的国企里面,研发产品生产线有很多条,当研 ...

  4. java11 新特性 详解

    为什么80%的码农都做不了架构师?>>>    引言: 点击-->java10 新特性 详解 点击-->java9 新特性 详解 点击-->java8 新特性 详解 ...

  5. android 新特性笔记

    此篇文章,只作为个人笔记之用 Android 9.0 新特性 链接:https://baijiahao.baidu.com/s?id=1610506662242386397&wfr=spide ...

  6. Java11 新特性

    Java 11新特性的详细解释.JDK 11已经于 2018年9月25日正式发布,那么Java 11主要包含哪些新特性呢? JDK 11是Java SE 11平台版本11的开源参考实现,由JSR 38 ...

  7. Java11新特性概览

    一.JShell(java9已经开始支持) 1.类似于python中的求值-打印循环(Read-Evaluaction-Print Loop),目的在与即时结果和反馈 2.java9引入了shell这 ...

  8. Java11新特性一览

    Java 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一.下边我们看一下JAVA11的新特性 字符串API增强 在Java 11中,针对String的操作进一步得到加强 ...

  9. ES6常用新特性---笔记一

    ES6的新特性 1.定义函数不一定需要function 2.创建类,constructor 3.模块,JavaScript支持了原生的module,将不同的代码分别写在不同的文件,最后只需export ...

最新文章

  1. 计算机毕业生求职之路
  2. 防止NullPointerException,是程序员的基本修养
  3. OpenGL入门-3-绘制多边形
  4. 基于JAVA+SpringMVC+Mybatis+MYSQL的线上超市管理系统
  5. 【文献阅读】Self-Normalizing Neural Networks
  6. 开放下载!2021 解锁 Serverless 从入门到实战大“橙”就
  7. PCB设计常见的有那些问题
  8. Win10 环境变量配置
  9. GitHub iOS开源项目
  10. unity怎么显示骨骼_Unity3d教程:骨骼动画介绍
  11. 解决office word 2016升级后工具栏无Mathtype
  12. CPU 到底是怎么识别代码的?
  13. golang时间类型字符串转时间类型
  14. Linux 系统USB设备检测
  15. QT报make: Circular all <- first dependency dropped.错误解决。
  16. 符号_王者荣耀2019名字特殊符号大全 最好看的特殊符号复制
  17. LabVIEW条件结构
  18. 工作流(Workflow)
  19. Bosun RabbitMQ数据收集
  20. java中对数据进行脱敏操作(证件号,手机号,移动电话,邮箱)

热门文章

  1. jpg如何压缩?jpg图片压缩大小怎么改?
  2. 高分子材料成型(二)
  3. XP SP3下HD声卡驱动不能安装的解决办法
  4. 苹果手机可以投影到墙上吗_卧室用投影仪可以推荐一下吗?
  5. U盘格式化不了怎么办?
  6. 10种方法将使你的Windows系统崩溃
  7. ipixsoft swf to html5 converter,iPixSoft SWF to MOV Converter
  8. 推荐一个开源文件下载库PRDownloader
  9. houdini 生成中心线:Find the center of a deforming tube
  10. GHOST8.2文图教程备份恢复工具