List
はインターフェースであり、ArrayList
クラスはそのインターフェースの特定の実装です。
List<Object> listObject = new ArrayList<Object>();
List
これにより、将来的に実装を変更できます。List listObject
インターフェイスで宣言されたすべてのメソッドを呼び出すことができList
ます。ArrayList
将来、 の実装を望まず、List
a と言って変更する場合はLinkedList
、それを行うことができます:
List<Object> listObject = new LinkedList<Object>();
asインターフェイス型listObject
を宣言した場合は、を使用するコードを変更する必要はありません。また、この宣言でに固有のものを使用した可能性があるため、残りのコードが壊れる心配もありません。listObject
List
ArrayList
ArrayList<Object> listObject = new ArrayList<Object>();
これは、実装ではなくインターフェースへのプログラミングと呼ばれます。