java - 为什么 CompletableFuture.complete() 在以错误类型完成时不抛出 ClassCastException
问题描述
此代码不打印任何内容,也不会引发任何错误:
CompletableFuture<Integer> publicStage = new CompletableFuture<>();
publicStage.thenAccept(i -> System.out.println("i = " + i));
CompletableFuture<String> cfs = (CompletableFuture)publicStage;
cfs.complete("foo");
这是因为 thenAccept 中的函数永远不会被调用,我预计会抛出某种错误,而不是仅仅删除函数并继续。
解决方案
推荐阅读
- oracle - Oracle Datapump:第 6224 行的操作无效
- python - getter方法的目的是什么
- kubernetes - Nginx 入口服务器公开为具有外部 ip 的节点端口,可以从集群内部访问,但不能从外部访问
- c++ - 成员变量未保持初始化
- amazon-web-services - 从 azure 函数创建 azure 逻辑应用
- lua - Roblox Studio:如果出现错误,则尝试一切
- android - 删除应用程序后android adb内存减少?
- python - 如何在python中打开具有多个数据框的文件夹并合并到一个csv文件中
- linux - 将一个文件中的特定行替换为另一个文件中包含的数据
- dns - 将 Google 子域重定向到 Digital Ocean Droplet SSL