次のようなクラスがあるとします。
public class foo {
private List<String> fooThings;
public void doSomething(List<String> things) {
// Do a bunch of things here
// Possibly setting fooThings at some point as well
}
}
List インターフェイスの代わりに ArrayList などの具体的なクラスを宣言で指定することは適切ですか? もしそうなら、いつ?
編集> この質問は、いつ LinkedList を使用するか、いつ ArrayList を使用するかとは関係ありません。これは、他の場所で回答されている別の質問です。問題は、明確にするためにいつ宣言をインターフェイス (List) にする必要があるか、またメソッドが何をするか、またはインスタンス変数をどのように活用するかが重要であるため、ArrayList などの実装をいつ指定する必要があるかです。