gpt4 book ai didi

java - 最佳实践 : how do I tell if a collection/set/let is a Guava ImmutableSet/Immutable map?

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

我的代码中有一个错误,我正在尝试修改一个实际上是从客户端程序/程序员传入的 Guava ImmutableList 的列表。

最好的测试方法是什么,而不是在 .add() 失败时等待异常?

最佳答案

What is the best way to test for this, rather than waiting for the exception when the .add() fails?

如果您不知道返回的列表是否可变,无论如何您都应该将其复制到一个可变集合中。如果返回的列表是另一个 ArrayList,则复制的成本是最小的——它减少到极快的 System.arraycopy

(也就是说,客户端库有时返回可修改列表,有时返回不可修改列表本身就是一种邪恶行为。)

如果您必须在运行时检查,请使用 instanceof ImmutableMapImmutableCollection 或任何合适的。

关于java - 最佳实践 : how do I tell if a collection/set/let is a Guava ImmutableSet/Immutable map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066553/

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