Eclipse API では、戻り値と引数の型はほとんどがコレクションではなく配列です。例として、 を返すmembers
メソッド onがあります。IContainer
IResources[]
なぜそうなるのか興味があります。おそらく、次のいずれかです。
- API は、ジェネリック ジェネリックが利用可能になる前に設計されたため、単なるまたは
IResource[]
よりも優れていました。Collection
List
- メモリの問題。たとえば、
ArrayList
( の効率的な実装を提供するために) 必要以上のスペースを持つ配列を内部的に保持しているのadd
に対し、配列は常に必要なターゲット サイズだけで構築されます。 - 配列に要素を追加/削除することはできないため、反復しても安全です (ただし、要素を に設定するなど、要素を変更できるため、防御的なコピーは依然として必要です
null
) 。
APIがそのように開発された理由について、洞察やその他のアイデアを持っている人はいますか?