微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Java8 中,是否有一个 util 函数可以将一个供应商转换为 Optional 抛出异常?

如何解决在 Java8 中,是否有一个 util 函数可以将一个供应商转换为 Optional 抛出异常?

我正在使用 vavr,发现 Option 中没有这样的 util,在 java8 的任何其他包中是否有类似的方便的 util?

public final class Utils {
    public static <T> Option<T> optionOfThrowablesupplier(supplier<T> supplier){
        try {
            T x = supplier.get();
            return Option.some(x);
        } catch (Exception e) {
            return Option.none();
        }
    }
}

解决方法

为什么不只是:

Try.of(() -> "throwable supplier").toOption()

,

似乎不存在这样的实用程序。我建议创建一个 networkModel.response 包装类来解决这个问题,它将给定的 Supplier 转换为 Supplier<T> 并且 Supplier<Option<T>> 方法将在异常时返回 get抛出。

Option.none();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。