在 Eclipse API 中,返回和参数类型主要是数组而不是集合。一个例子是 members
方法在 IContainer
,返回 IResources[]
.
我对为什么会这样很感兴趣。也许它是以下之一:
IResource[]
比仅仅好 Collection
或 List
ArrayList
内部保存一个比所需空间更多的数组(以提供 add
的有效实现),而数组总是只为所需的目标大小 null
)有没有人对为什么以这种方式开发 API 有任何见解或其他想法?
最佳答案
将此作为答案发布,因此可以接受。
Eclipse 早于泛型,他们非常重视 API 的稳定性。此外,在 SWT 传递数组的底层似乎用于反射(reflect)被包装的操作系统 API。一旦你有一堆使用数组的工具,我想保持一致性是有意义的。另请注意,使用反射时,数组不会受到所有类型删除问题的影响。
是的,我听说集合 api 通常更容易用于动态项目列表。
关于eclipse - 为什么 Eclipse API 使用数组而不是集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11613277/