Vavr `Try.of` 和 `Try.run` 有什么区别

What is the difference between Vavr `Try.of` vs `Try.run`

想要更多关于 javaslang Try.of()Try.run()

之间区别的信息

例如

Try.of(() -> Integer.valueOf(str)).getOrElse(1) 编译正常但是 Try.run(() -> Integer.valueOf(str)).getOrElse(1) 没有。

在包 javaslang.control 中找到。 有关图书馆的更多信息:

Try.of() takes a CheckedSupplier,它有一个 get() 方法来“得到结果”。

Try.run() takes a CheckedRunnable,它有一个 void run() 方法来“执行副作用”。

文档.

中就是这么说的

区别与标准 Java Supplier ("represents a supplier of results") and Runnable (“执行代码 ... 可能采取任何行动”) 之间的区别相同。一个用于检索值,另一个用于执行一些代码

使用差异的例子见:

andThenTry(CheckedConsumer<? super T> consumer)

Try.of(() -> 100)
   .andThen(i -> System.out.println(i));

andThenTry(CheckedRunnable runnable)

Try.run(A::methodRef)
   .andThen(B::methodRef)
   .andThen(C::methodRef);