您现在的位置是:课程教程文章
CompletableFuture在java中的报错处理
2023-12-15 21:01课程教程文章 人已围观
-
Java开发多线程设计模式之Worker Thread模式
Java开发多线程设计模式之Worker Thread模式思考一下: 是否遇到个这样的问题 学编程的时候被某个知识点卡住了 网上搜答... -
鸟哥2021权威javascript入学【上卷】
鸟哥2021权威javascript入学【上卷】... -
Java高薪工程师培养计划 新七期 LevelThre
Java高薪工程师培养计划 新七期 LevelThre... -
CRMEB_Java2.0_本地开发环境搭建指南
CRMEB_Java2.0_本地开发环境搭建指南本视频由CRMEB推出,CRMEB是西安众邦网络科技有限公司旗下的一款产品,西安众...
我们对于CompletableFuture的理解,可以先从它的基础类Future讲起,作为一个用来计算异步中的工具存在的。CompletableFuture相对而言,在功能上进一步的升级,对于线程的调用效率上更高。本篇我们CompletableFuture就在异步处理中遇到的报错问题进行分析,提出解决的方法。
1.问题分析
想实现的效果:future的集合如果在3秒内没有返回就执行提取出其中已经完成的future。
编译报错,"Cannot infer functional interface type."
2.解决办法
(1)可以这个报错标红的地方,在applyToEither方法的第二个参数上,那查看一哈applyToEither方法的参数格式
public <U> CompletableFuture<U> applyToEither(
CompletionStage<? extends T> other, Function<? super T, U> fn) {
return orApplyStage(null, other, fn);
}
(2)第二个参数是一个Function,Function要求的是根据一个参数返回一个结果,而这里写的很明显,是没有参数的,写成了一个Supplier,当然参数类型是不符合方法applyToEither的要求。
以上就是CompletableFuture在java中的报错处理,可以看出在使用时,忽略了参数的添加,而且参数类型不规范导致程序处理时出现错误,这里大家在使用时需要牢记。
课程教程:CompletableFuture在java中的报错处理下一篇:没有了