(1) List<?> myList = new ArrayList<?>();
(2) ArrayList<?> myList = new ArrayList<?>();
(1) では、 Listインターフェースの実装を入れ替えることができると理解しています。アプリケーションでは、必要性に関係なく (1) が一般的に使用されているようです (私自身は常にこれを使用しています)。
(2)を使っている人はいるのだろうか?
また、実際に状況によって (1) を (2) よりも使用する必要がある頻度はどのくらいですか (例を挙げていただけますか) (つまり、(2) では不十分な場合、インターフェースやベスト プラクティスなどへのコーディングは別として)
ベストアンサー1
ほとんどの場合は、例えば次のように翻訳できるため、List
より好まれます。ArrayList
List
LinkedList
コードベースの残りの部分に影響を与えることなく。
ArrayList
の代わりにを使用すると、コードベースで特定のメソッドが使用されており、再構築も必要になるため、実装を にList
変更するのは困難です。ArrayList
LinkedList
ArrayList
List
実装については以下をご覧くださいここ。
から始めてArrayList
も、すぐに別の実装の方が適切な選択であることが分かる場合があります。