gpt4 book ai didi

java - 只读 SettableFuture 引用

转载 作者:行者123 更新时间:2023-12-02 02:29:21 30 4
gpt4 key购买 nike

假设 API 方法返回 ListenableFuture<T> ,返回值实现为SettableFuture<T> 。有没有办法返回一个“ListenableFuture”,而该“ListenableFuture”不能被转换回 SettableFuture 并由行为不当的客户端完成?

因此,ListenableFuture 的只读 View 。类似于用 .unmodifiableCollection 包装集合.

最佳答案

最简单的方法可能是:

返回 Futures.transform(future, x -> x);

请注意, future 仍然是“可写的”,因为人们可以取消它。如果你想阻止用户甚至取消原来的 future - 我认为你不关心这一点,但无论如何我想提出它,因为你说“只读” - 那么你可以使用:

返回Futures.nonCancellationPropagating(future);

关于java - 只读 SettableFuture 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47393354/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com