【Lambda、SteamAPI】谨慎使用流

由于Java不支持基本类型的char流,因此在运行下面这样的代码时,会出现问题

public static void main(String[] args) {
    "Hello World".chars().forEach(System.out::println);
    // 预期打印 Hello World
    // 实际打印 一串数字
}

chars()返回的流是int值不是char值。

因此我们应该避免使用流来处理char值。

 

推荐使用流的场景:

  • 对元素的序列进行统一转换
  • 对元素的序列进行过滤
  • 使用单个操作将多个元素序列合并起来(相加、连接、计算最小值等)
  • 将元素序列累加到一个集合中,也许是根据某个共同的属性来分组
  • 在一个元素序列中查找满足某个条件的元素
posted @ 2024-06-19 20:53  onejay  阅读(12)  评论(0)    收藏  举报