提示58-59

第58条 for-each循环优先于传统的for循环

  1. for-each 相较于使用迭代器或者传统for循环遍历数组的方式,主要减少了变量(迭代器变量或索引变量)出现的次数。减少变量出现次数就能减少出错可能。
  2. 增强for循环有3个场景不能使用:
    • 在循环的时候删除内容。可以使用新的removeIf方法
    • 替换元素的值
    • 平行迭代(两个list的下表统一一起往前移)

思考

书中的例子一开始我也没看出来问题在哪儿,后来才反应过来,iterator.next方法会一直增长,一方面是我没有经常使用iterator,另一方面也是提醒我们尽量避免频繁使用迭代器。增强for循环的最大作用就是遍历,其它的场景相对不是很适合。Java8里面的StreamCollectionforEach比增强for循环的要求还要高,循环体外面的所有内容相对于循环体都是final的。

第59条 了解和使用类库

  1. 通过使用标准类库,可以充分利用这些编写标准类库的专家的知识,以及在你之前的其他人的使用经验
  2. 选择的随机数生成器现在是ThreadLocalRandom和并行的SplittableRandom
  3. 我们需要熟悉java.lang、java.util和java.io的基础知识及其子包。

思考

这一条主要说的就是不要重复造轮子,当需要做一些看起来相当常见的事情时,第一时间可以去检查一下是否已经有代码实现了这一功能。这一条非常实用,能在平时的开发工作中大大提高我们的效率。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容