gpt4 book ai didi

eclipse - 为什么 Eclipse API 使用数组而不是集合?

转载 作者:行者123 更新时间:2023-12-04 21:47:45 24 4
gpt4 key购买 nike

在 Eclipse API 中,返回和参数类型主要是数组而不是集合。一个例子是 members方法在 IContainer ,返回 IResources[] .

我对为什么会这样很感兴趣。也许它是以下之一:

  • API 是在泛型泛型可用之前设计的,因此 IResource[]比仅仅好 CollectionList
  • 内存问题,例如ArrayList内部保存一个比所需空间更多的数组(以提供 add 的有效实现),而数组总是只为所需的目标大小
  • 构建。
  • 无法在数组上添加/删除元素,因此迭代是安全的(但仍然需要防御性复制,因为仍然可以更改元素,例如将它们设置为 null )

  • 有没有人对为什么以这种方式开发 API 有任何见解或其他想法?

    最佳答案

    将此作为答案发布,因此可以接受。

    Eclipse 早于泛型,他们非常重视 API 的稳定性。此外,在 SWT 传递数组的底层似乎用于反射(reflect)被包装的操作系统 API。一旦你有一堆使用数组的工具,我想保持一致性是有意义的。另请注意,使用反射时,数组不会受到所有类型删除问题的影响。

    是的,我听说集合 api 通常更容易用于动态项目列表。

    关于eclipse - 为什么 Eclipse API 使用数组而不是集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11613277/

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