第58条 for-each循环优先于传统的for循环
- 这一条紧跟上面一条,目的还是减少变量的作用域
- 增强for循环有3个场景不能使用
- 在循环的时候删除内容。可以使用新的
removeIf
方法 - 替换元素的值
- 平行迭代(两个list的下表统一一起往前移)
- 在循环的时候删除内容。可以使用新的
思考
- 增强for循环的最大作用就是遍历,其它的场景相对不是很适用
-
Stream
和Collection
的forEach
比增强for循环的要求还要高,循环体外面的所有内容相对于循环体都是final
的
第59条 了解和使用类库
- 通过使用标准类库,可以充分利用这些编写标准类库的专家的知识,以及在你之前的其他人的使用经验
- 选择的随机数生成器现在是
ThreadLocalRandom
- 需要主要学习java.lang、java.util和java.io
思考
我们大多数只会关注比较重大的版本升级,比如Java8的Lambda
、Stream
等等,从而忽视了小的版本升级。在之前的阅读里我们才看到Java7的try-with-resource,没有人使用ThreadLocalRandom
,ForkJoinPool
也很少有人用(这个线程池没有拒绝策略,相比之下更容易发生OOM)。对于每一个版本都应该关注下新的特性。
比如现在Spring Boot、Jenkins等工具的最新版都已经最低支持Java11了,可以开始关注下9~11的新特性