《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读

前  言 致读者本书是按照Java SE 8完全更新后的《Java核心技术 卷Ⅱ 高级特性(原书第10版)》。卷Ⅰ主要介绍了Java语言的一些关键特性;而本卷主要介绍编程人员进行专业软件开发时需要了解的高级主题。因此,与本书卷Ⅰ和之前的版本一样,我们仍将本书定位于用Java技术进行实际项目开发的编程...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.7.1 如何使用Optional值

1.7.1 如何使用Optional值有效地使用Optional的关键是要使用这样的方法:它在值不存在的情况下会产生一个可替代物,而只有在值存在的情况下才会使用这个值。让我们来看看第一条策略。通常,在没有任何匹配时,我们会希望使用某种默认值,可能是空字符串: 你刚刚看到了如何在不存在任何值的情况下产...

「大师课」搞定 Java 开发基础

23 课时 |
8714 人已学 |
免费

Java Spring Boot 2.6.0开发实战-1024程序员节创造营公益课

5 课时 |
1162 人已学 |
免费

Java Web开发-Web应用、Tomcat、HTTP请求与响应

17 课时 |
1440 人已学 |
免费
开发者课程背景图

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.7 Optional类型

1.7 Optional类型 Optional对象是一种包装器对象,要么包装了类型T的对象,要么没有包装任何对象。对于第一种情况,我们称这种值为存在的。Optional类型被当作一种更安全的方式,用来替代类型T的引用,这种引用要么引用某个对象,要么为null。但是,它只有在正确使用的情况下才会更安全...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.6 简单约简

1.6 简单约简现在你已经看到了如何创建和转换流,我们终于可以讨论最重要的内容了,即从流数据中获得答案。我们在本节所讨论的方法被称为约简。约简是一种终结操作(terminal operation),它们会将流约简为可以在程序中使用的非流值。你已经看到过一种简单约简:count方法会返回流中元素的数量...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.5 其他的流转换

1.5 其他的流转换 distinct方法会返回一个流,它的元素是从原有流中产生的,即原来的元素按照同样的顺序剔除重复元素后产生的。这个流显然能够记住它已经看到过的元素。 对于流的排序,有多种sorted方法的变体可用。其中一种用于操作Comparable元素的流,而另一种可以接受一个Compara...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.4 抽取子流和连接流

1.4 抽取子流和连接流 调用stream.limit(n)会返回一个新的流,它在n个元素之后结束(如果原来的流更短,那么就会在流结束时结束)。这个方法对于裁剪无限流的尺寸会显得特别有用。例如, 会产生一个包含100个随机数的流。调用stream.skip(n)正好相反:它会丢弃前n个元素。这个方法...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.3 filter、map和flatMap方法

1.3 filter、map和flatMap方法 流的转换会产生一个新的流,它的元素派生自另一个流中的元素。我们已经看到了f?ilter转换会产生一个流,它的元素与某种条件相匹配。下面,我们将一个字符串流转换为了只包含长单词的另一个流: f?ilter的引元是Predicate,即从T到boolea...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.2 流的创建

1.2 流的创建 你已经看到了可以用Collection接口的stream方法将任何集合转换为一个流。如果你有一个数组,那么可以使用静态的Stream.of方法。 of方法具有可变长参数,因此我们可以构建具有任意数量引元的流: 使用Array.stream(array, from, to)可以从数组...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.1 从迭代到流的操作

1.1 从迭代到流的操作 在处理集合时,我们通常会迭代遍历它的元素,并在每个元素上执行某项操作。例如,假设我们想要对某本书中的所有长单词进行计数。首先,将所有单词放到一个列表中: 现在,我们可以迭代它了: 在使用流时,相同的操作看起来像下面这样: 流的版本比循环版本要更易于阅读,因为我们不必扫描整个...

《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一第1章 Java SE 8的流库

第1章 Java SE 8的流库流提供了一种让我们可以在比集合更高的概念级别上指定计算的数据视图。通过使用流,我们可以说明想要完成什么任务,而不是说明如何去实现它。我们将操作的调度留给具体实现去解决。例如,假设我们想要计算某个属性的平均值,那么我们就可以指定数据源和该属性,然后,流库就可以对计算进行...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

社区圈子

Java开发者
Java开发者
Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~
287364+人已加入
加入
相关电子书
更多
Java单元测试实战
Java应用提速(速度与激情)
Java工程师必读手册
立即下载 立即下载 立即下载