gpt4 book ai didi

java - Guava :值或空集的不可变集

转载 作者:搜寻专家 更新时间:2023-11-01 01:03:31 25 4
gpt4 key购买 nike

我需要一个更简洁的解决方案来使用 ImmutableSet。我的代码看起来像

Set foo = ImmutableSet.copyOf(aGeoR.getFailed());

当 aGeoR.getFailed() 返回一个或多个条目时效果很好。

当返回的集合为空时失败。

当它为空时,我需要一个

Set foo = ImmutableSet.of();

执行此操作的简洁方法是什么?

最佳答案

这是关于 Guava 和 ImmutableSet 的问题,但真正的问题是 aGeoR.getFailed()。返回 null 的集合返回方法基本上是不合适的。它应该返回一个空集开始(参见 Effective Java);是的,事实并非如此,这会给用户带来一些痛苦。

当我必须处理这样的 API 并且我无法修复它或修复它时,我会完全按照您在@Jherico 的答案修订版中显示的那样进行操作。

Set<FailedGeoR> failedOrNull = aGeoR.getFailed();
Set<FailedGeoR> failed = (failedOrNull == null)
? ImmutableSet.<FailedGeoR>of()
: ImmutableSet.copyOf(failedOrNull);

关于java - Guava :值或空集的不可变集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024948/

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