なぜ使うのか、
Map abc = new HashMap(20);
それ以外の
HashMap abc = new HashMap(20);
これら2つの違いを見つけるのを手伝ってください。
助けに感謝します。
なぜ使うのか、
Map abc = new HashMap(20);
それ以外の
HashMap abc = new HashMap(20);
これら2つの違いを見つけるのを手伝ってください。
助けに感謝します。
最初のケースでは、abc
変数はインターフェースHashMap
の実装であるtype です。Map
後で気が変わってTreeMap
たとえばを使用したい場合は、コード内の多くの参照を変更する必要があり、一般的な操作で十分な場所のHashMap
特性を使用した可能性があります。HashMap
Map
変数の型としてインターフェイスを使用するとMap
、実装を簡単に変更できます。クラスを再利用するように設計する場合、これは重要です。を引数として取るメソッドがある場合Map
、任意のMap
実装を使用してメソッドを呼び出すことができます。したがって、呼び出し元は最適な実装を自由に使用できます。