Stream流属于管道流,只能被消费(使用)一次
第一个stream流调用完毕方法,数据就会流转到下一个Stream上
而这时第一个stream流已经使用完毕,就会关闭了
所以第一个Stream流就不能再调用方法
import java.util.function.Predicate;
import java.util.stream.Stream;
//supplier接口 获取一个指定类型的数据或数值
public class FuXi2 {
//
// 总结:
// filter方法用来对Stream流中的数据进行过滤, 它的方法参数是一个predicate函数式接口可以使用lambda表达式
// predicate中的accept方法
// public boolean test(String s) {
// return false;
// }
public static void main(String[] args) {
Stream<String> stringStream = Stream.of("1", "2", "3", "4");//创建String类型的流对象集合
Stream<String> stringStream1 = stringStream.filter((i) -> {
return i.startsWith("1");
});//调用filter方法对里面的的内容进行过滤,重写过滤方法 如果判断式true则保留反之删除
stringStream.forEach(k-> System.out.println(k));//此流已经使用过 使用一次就关闭了 无法再执行其他方法
}
}