由浅到深认识Java语言(63):JDK11新特性(增强String API&增强集合API)

该文章Github地址:https://github.com/AntonyCheng/java-notes【有条件的情况下推荐直接访问GitHub以获取最新的代码更新】

在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template【有条件的情况下推荐直接访问GitHub以获取最新的代码更新】& CSDN文章地址:https://blog.csdn.net/AntonyCheng/article/details/136555245),该模板集成了最常见的开发组件,同时基于修改配置文件实现组件的装载,除了这些,模板中还有非常丰富的整合示例,同时单体架构也非常适合SpringBoot框架入门,如果觉得有意义或者有帮助,欢迎Star & Issues & PR!

上一章:由浅到深认识Java语言(62):JDK11新特性(HttpClient&免编译启动)

56.JDK11新特性

Java 11 是继 Java 8 之后的第一个 LTS 长期支持功能版本。它遵循 Java 发布节奏推出 Java 10,并于 2018 年 9 月发布,距 Java 10 发布仅六个月。

Java 9 和 Java 10 是非 LTS 版本。Java 11 版本是 LTS 版本。

增强String的API

Java 11 为 String 引入了多项增强功能:

  • String.repeat(int) : 重复给定次数的字符串。返回连接的字符串。
  • String.isBlank() :检查字符串是否为空或只有空格。
  • String.strip() : 删除前导和尾随空格。
  • String.stripLeading() : 删除前导空格。
  • String.stripTrailing() : 删除尾随空格。
  • String.lines() : 返回多行字符串的行流。

增强String的API的示例

import java.util.ArrayList;
import java.util.List;

public class APITester {
   public static void main(String[] args) {
      String sample = " abc ";
      System.out.println(sample.repeat(2)); // " abc  abc "
      System.out.println(sample.isBlank()); // false
      System.out.println("".isBlank()); // true
      System.out.println("   ".isBlank()); // true
      System.out.println(sample.strip()); // "abc"
      System.out.println(sample.stripLeading()); // "abc "
      System.out.println(sample.stripTrailing()); // " abc"
      sample = "This\nis\na\nmultiline\ntext.";

      List<String> lines = new ArrayList<>();

      sample.lines().forEach(line -> lines.add(line));
      lines.forEach(line -> System.out.println(line));
   }
}

运行结果如下:

abc  abc 
false
true
true
abc
abc 
 abc
This
is
a
multiline
text.

增强集合转换为数组

Java11之前的方法

nameList.toArray(new String[nameList.size()]);

Java11的方法

nameArray = nameList.toArray(String[]::new);

集合转换为数组的示例

import java.util.Arrays;
import java.util.List;

public class APITester {
   public static void main(String[] args) {		
      List<String> namesList = Arrays.asList("Joe", "Julie");
      // Old way
      String[] names = namesList.toArray(new String[namesList.size()]);
      System.out.println(names.length);
      // New way
      names = namesList.toArray(String[]::new);
      System.out.println(names.length);
   }
}

运行结果如下:

2
2

下一章:由浅到深认识Java语言(64):JDK11新特性(增强Optional类&增强Predicate接口)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值