@@ -118,7 +118,7 @@ Collections.sort(names, (String a, String b) -> {
118
118
});
119
119
```
120
120
121
- 可以看出,代码变得更段且更具有可读性 ,但是实际上还可以写得更短:
121
+ 可以看出,代码变得更短且更具有可读性 ,但是实际上还可以写得更短:
122
122
123
123
``` java
124
124
Collections . sort(names, (String a, String b) - > b. compareTo(a));
@@ -215,7 +215,7 @@ Person person = personFactory.create("Peter", "Parker");
215
215
```
216
216
我们只需要使用 ` Person::new ` 来获取Person类构造函数的引用,Java编译器会自动根据` PersonFactory.create ` 方法的参数类型来选择合适的构造函数。
217
217
218
- ### Lamda 表达式作用域(Lambda Scopes)
218
+ ### Lambda 表达式作用域(Lambda Scopes)
219
219
220
220
#### 访问局部变量
221
221
@@ -423,15 +423,15 @@ Optional 是一个简单的容器,其值可能是null或者不是null。在Jav
423
423
译者注:示例中每个方法的作用已经添加。
424
424
425
425
```java
426
- // of() :为非null的值创建一个Optional
426
+ // of() :为非null的值创建一个Optional
427
427
Optional<String > optional = Optional.of ("bam ");
428
- // isPresent() : 如果值存在返回true,否则返回false
428
+ // isPresent() : 如果值存在返回true,否则返回false
429
429
optional.isPresent (); // true
430
430
// get():如果Optional有值则将其返回,否则抛出NoSuchElementException
431
431
optional.get (); // "bam"
432
- // orElse() :如果有值则将其返回,否则返回指定的其它值
432
+ // orElse() :如果有值则将其返回,否则返回指定的其它值
433
433
optional.orElse ("fallback "); // "bam"
434
- // ifPresent() :如果Optional实例有值则为其调用consumer,否则不做处理
434
+ // ifPresent() :如果Optional实例有值则为其调用consumer,否则不做处理
435
435
optional.ifPresent ((s ) -> System.out.println (s .charAt (0 ))); // "b"
436
436
```
437
437
@@ -484,7 +484,7 @@ forEach 是为 Lambda 而设计的,保持了最紧凑的风格。而且 Lambda
484
484
.forEach (System .out ::println );// aaa1 aaa2
485
485
```
486
486
487
- 需要注意的是,排序只创建了一个排列好后的Stream ,而不会影响原有的数据源,排序之后原数据stringCollection是不会被修改的 :
487
+ 需要注意的是,排序只创建了一个排列好后的Stream ,而不会影响原有的数据源,排序之后原数据stringList是不会被修改的 :
488
488
489
489
```java
490
490
System.out.println (stringList );// ddd2, aaa2, bbb1, aaa1, bbb3, ccc, bbb2, ddd1
@@ -502,7 +502,7 @@ forEach 是为 Lambda 而设计的,保持了最紧凑的风格。而且 Lambda
502
502
.stream ()
503
503
.map (String ::toUpperCase )
504
504
.sorted ((a , b ) -> b.compareTo (a ))
505
- .forEach (System .out ::println );// "DDD2", "DDD1", "CCC", "BBB3", "BBB2", "AAA2", "AAA1"
505
+ .forEach (System .out ::println );// "DDD2", "DDD1", "CCC", "BBB3", "BBB2", "BBB1", " AAA2", "AAA1"
506
506
```
507
507
508
508
@@ -649,7 +649,7 @@ parallel sort took: 475 ms//串行排序所用的时间
649
649
650
650
## Maps
651
651
652
- 前面提到过,Map 类型不支持 streams,不过Map提供了一些新的有用的方法来处理一些日常任务。Map接口本身没有可用的 `stream() `方法,但是你可以在键,值上创建专门的流或者通过 `map.keySet ().stream ()`,`map.values ().stream ()`和`map.entrySet ().stream ()`。
652
+ 前面提到过,Map 类型不支持 streams,不过Map提供了一些新的有用的方法来处理一些日常任务。Map接口本身没有可用的 `stream () `方法,但是你可以在键,值上创建专门的流或者通过 `map.keySet ().stream ()`,`map.values ().stream ()`和`map.entrySet ().stream ()`。
653
653
654
654
此外,Maps 支持各种新的和有用的方法来执行常见任务。
655
655
0 commit comments