方法,Consumer的使用 写的啥 todo 废弃掉)
Consumer接口的方法为accept()。代码voidaccept(Tt);逻辑接收传递过来的入参进行处理但是无返回值。可以理解为accept参数并执行一定的逻辑。peek方法是中间操作如果不触发终止操作他不会执行任何处理。java中经常要用到判断和赋值(或者输出等操作)Predicate和Consumer就可以很好的解决这个问题。可以定义多个不同consumer通过andThen来串联起来实现不同的逻辑实现代码的复用。DatapublicclassPerson{privateStringname;publicstaticvoidmain(String[]args){PersonpersonnewPerson();person.setName(zhangsan);ConsumerPersonconsumer(s)-{s.setName(lisi);System.out.println(s.getName());};ConsumerPersonconsumer2(s)-{System.out.println(s.getName());};//这说明consumer可以修改传入对象的内部值以便于后续继续操作//这里有一点需要注意调用accept()方法的时候才会执行代码andThen只是把代码的逻辑组合起来consumer.andThen(consumer2).accept(person);// lisi lisiSystem.out.println(person.getName());}}peek的意思是偷看查看传入Consumer接口不消耗对象。peek例子如下System.out.println(Stream.of(one,two,three,four).filter(e-e.length()3).peek(e-System.out.println(Filtered value: e)).map(String::toUpperCase).peek(e-System.out.println(Mapped value: e)).collect(Collectors.toList()));