これら 2 つの宣言の違いは何ですか?
宣言1:
ArrayList<String> arrayList = new ArrayList<String>();
宣言2:
List<String> arrayList = new ArrayList<String>();
ベストアンサー1
List<String> arrayList = new ArrayList<String>();
実装の詳細をクライアントに返す際に非表示にしたい場合に一般的であり、後から実装を から に透過的に変更できArrayList
ますLinkedList
。
このメカニズムは、クライアント側での変更を最小限に抑えながら、ある時点で実装の詳細を変更する可能性があるライブラリなどを設計する場合に役立ちます。
ArrayList<String> arrayList = new ArrayList<String>();
これにより、常に を返す必要がありますArrayList
。 ある時点で実装の詳細を に変更する場合は、の代わりにLinkedList
を使用するようにクライアント側も変更する必要があります。LinkedList
ArrayList