由于Java不支持基本类型的char流,因此在运行下面这样的代码时,会出现问题
public static void main(String[] args) { "Hello World".chars().forEach(System.out::println); // 预期打印 Hello World // 实际打印 一串数字 }
chars()返回的流是int值不是char值。
因此我们应该避免使用流来处理char值。
推荐使用流的场景:
- 对元素的序列进行统一转换
- 对元素的序列进行过滤
- 使用单个操作将多个元素序列合并起来(相加、连接、计算最小值等)
- 将元素序列累加到一个集合中,也许是根据某个共同的属性来分组
- 在一个元素序列中查找满足某个条件的元素