java - 是否有不带参数、不返回任何内容并允许检查异常的 JDK 功能接口?
问题描述
我正在 JDK 中寻找具有这样的方法签名的功能接口
@FunctionalInterface
public interface Executable {
void execute() throws Exception;
}
但令人惊讶的是,我似乎找不到一个。
解决方案
我在 Java 中知道的唯一允许抛出已检查异常的功能接口是java.util.concurrent.Callable
. 这是它的源代码:
@FunctionalInterface public interface Callable<V> { V call() throws Exception; }
它以不接受任何内容的方式进行限定,但是,它具有返回类型。您可以使用一个技巧 withVoid
来指定不应该期望什么:
void method() throws Exception {
throw new Exception("I am so dumb I always throw the exception");
}
Callable<Void> callable = () -> {
method();
return null;
};
推荐阅读
- python - 绘制水平线(matplotlib)
- c# - 使用 transform.position 时的 2D 碰撞检测。如何启用?
- typescript - 如何使用括号表示法检查打字稿中的无效性
- c# - fopen_s 仅在通过 c# windows 窗体启动 c++ exe 时失败
- c - 链表递归函数中的 malloc 和 free
- java - 如何在用 Java 编写的多模块播放项目中运行单元测试
- java - Monitoring replicas with Spring Boot Admin on Kubernetes
- java - 高性能的java中的Json转换
- c++ - 读取访问冲突当前为 0xCDCDCDCD,链接列表窗口
- python - 异常处理不适用于开放 python