gpt4 book ai didi

java - 列表或集合 : which one to use in interfaces?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:23 25 4
gpt4 key购买 nike

假设我想要松散耦合的接口(interface),我通常会避免在方法签名中使用 List 实现(如 ArrayList),而更喜欢使用 List 接口(interface)。但由于 Collection 是一个更通用的接口(interface),您认为我应该更喜欢使用 Collection 而不是 List?

编辑:我知道列表和集合之间的区别。我不关心顺序或任何特定于列表的功能。这个问题是关于返回值和方法参数的。

最佳答案

一个好的 API 应该提供所有需要的东西,而不会暴露不必要的实现细节。

我发现自己最常使用 List 或 Set。尝试用 Collection 替换 List 或 Set 有时会使 API 在没有真正提供任何额外的解耦或抽象的情况下难以使用。

我尽量避免在方法签名中使用 Maps,因为我认为这是输入/输出过于复杂的明显标志。这可以通过为此数据创建一个特定的包装类或通过更改方法的位置来解决,以便它可以直接访问数据(例如,将它放在您传递给该方法的类中)。

不要忘记您的面向对象设计是为了让那些维护和调用您的代码的人的生活更轻松,而不是为了达到完美的 chalice 。通常有几种合理的方法来为问题建模,您选择哪一种取决于您自己的风格和您正在处理的代码库的预期 future 复杂性/用例。

关于java - 列表或集合 : which one to use in interfaces?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542967/

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