首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java 8 Stream Api 中的 peek 操作

然后有小伙伴告诉我 peek 操作 也能实现元素的处理。但是你知道 map 和 peek 的区别吗?map 我们在开头文章已经讲过了,你可以去详细了解一下它,本文将重点讲解一下 peek 操作。...2. peek peek 操作接收的是一个 Consumer 函数。...3. peek VS map peek 操作 一般用于不想改变流中元素本身的类型或者只想元素的内部状态时;而 map 则用于改变流中元素本身类型,即从元素中派生出另一种类型的操作。...那么 peek 实际中我们会用于哪些场景呢?比如对 Collection 中的 T 的某些属性进行批处理的时候用 peek 操作就比较合适。...总结 我们今天了解 Stream 的 peek 操作,同时也回顾了 Stream 的生命周期。也顺带对 Consumer 函数进行了讲解。

1.7K21

还在stream中使用peek?不要被这些陷阱绊住了

事实上,我也经常在项目中看到有些小伙伴会经常使用peek来进行一些业务逻辑处理。 那么既然JDK文档中说peek方法主要是在调试的情况下使用,那么peek一定存在着某些不为人知的缺点。...一起来看看吧 peek的定义和基本使用 先来看看peek的定义: Stream peek(Consumer<?...这表示peek中的逻辑并没有被调用,所以这种情况大家一定要注意。 peek为什么只被推荐在debug中使用 如果你阅读过peek的文档,你可能会发现peek是只被推荐在debug中使用的,为什么呢?...因为peek方法中参数是一个Consumer,它不会对stream中元素的个数产生影响,所以最后的运行结果就是3。 peek中的日志输出并没有打印出来,表示peek没有被执行。...所以,我们在使用peek的时候,一定要注意peek方法是否会被优化。要不然就会成为一个隐藏很深的bug。 peek和map的区别 好了,讲到这里,大家应该对peek有了一个全面的认识了。

30720

Java 特性预览

预览一些实验性特性Java 的预览特性是针对正在开发中的特性,并且这些特性还在接受评估。所以这些特性还没有完全确定,所以很多特性可能会在新的发行版本中出现,当然很多也可能会被完全抛弃。...正是因为 Java 对品质的要求,针对 JDK 的不版本的实现,都会要求在 JDK 发布的时候同时也包含有实验性的特性预览。但是,针对最后的发布版本,这种实验性的预览功能是不会提供的。...使用预览特性Java 预览特性在默认情况下是关闭的。为了启用这个功能,我们必须使用启用预览参数,使用这个参数将会把所有的特性一次性全部启用。Java 编译器(JVM)和 Java 的版本必须保持一致。...因目前我们使用的编译器版本比较高,为 JDK 17 的版本,所以在预览选项这里就只能对 JDK 21 的版本进行预览了。...同时还可以看到那些版本是支持新特性预览的,那些版本是不支持新特性预览的。整体来说,IntelliJ IDEA 的新特性预览功能做得要比 Eclipse 更好一些。

5910
领券