gpt4 book ai didi

java - 返回 unmodifiableList 是否可以接受,还是应该返回数组?

转载 作者:IT老高 更新时间:2023-10-28 20:59:51 27 4
gpt4 key购买 nike

我有方法List<Foo> getFoos ()从远程服务器获取数据并返回。

当然,用户不应该更改列表的项目数,因为他会得到与服务器上的数据不同步的数据(如果他想要更改项目数,他有特殊的方法,如 addFoo () )。

第一种方法是返回数组并将方法的签名更改为 Foo[] getFoos () .但它在java中更常见,用户操作集合更方便,所以我将签名更改为List<Foo> getFoos () .这个方法总是返回

Collections.unmodifiableList (originalList)

因此,当用户尝试更改列表时,他会得到 RuntimeException。

类似案例中的api设计有什么建议吗?

最佳答案

Collections.unmodifiableList完全可以接受并且应该更快(无需创建数组)。

编辑 - 在 API 设计方面,您应该明确您的 JavaDoc!使用方法而不阅读其文档的人应该得到惊喜:p

关于java - 返回 unmodifiableList 是否可以接受,还是应该返回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2186045/

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