java8.0api中文文档_java8增强API

本文详细介绍了Java 8中API的改进,包括String类的新方法`join`和`chars`,正则表达式与流的结合,无符号数字的解析,以及处理溢出的算术运算。此外,还展示了Files类如何增强文件操作,如流式处理目录内容,查找特定文件以及读写文件的新方法。
摘要由CSDN通过智能技术生成

大量的教程和文章涵盖了Java 8中最重要的变化,如lambda表达式和函数流。但是,JDK 8 API中的许多现有类已经通过有用的特性和方法得到了增强。

本文介绍了Java 8 API中的一些较小的更改 - 每个更改都使用易于理解的代码示例进行描述。让我们深入研究字符串,数字,算术和文件。

字符串切片

String类有两种新方法:join和chars。第一种方法将任意数量的字符串连接到具有给定分隔符的单个字符串:

String.join(":", "foobar", "foo", "bar");

// => foobar:foo:bar

第二种方法chars为字符串的所有字符创建一个流,因此您可以对这些字符使用流操作:

"foobar:foo:bar"

.chars()

.distinct()

.mapToObj(c -> String.valueOf((char)c))

.sorted()

.collect(Collectors.joining());

// => :abfor

现在不仅字符串而且正则表达式模式都受益于流。我们可以为任何模式拆分字符串,并创建一个要处理的流,而不是将字符串拆分为每个字符的流,如下例所示:

Pattern.compile(":")

.splitAsStream("foobar:foo:bar")

.filter(s -> s.contains("bar"))

.sorted()

.collect(Collectors.joining(":"));

// => bar:foobar

另外,可以将正则表达式模式转换为谓词。这些谓词可用于过滤字符串流:

Pattern pattern = Pattern.compile(".*@gmail\\.com");

Stream.of("bob@gmail.com", "alice@hotmail.com")

.filter(pattern.asPredicate())

.count();

// => 1

上述模式接受任何以字符结尾的字符串,@gmail.com然后用作Java 8 Predicate来过滤电子邮件地址流。

数字运算

Java 8为使用无符号数字添加了额外的支持。Java中的数字一直都是签名的。我们来看看Integer例如:

int最多可表示

2

32

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值