なぜ使うのか、
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特性を使用した可能性があります。HashMapMap
変数の型としてインターフェイスを使用するとMap、実装を簡単に変更できます。クラスを再利用するように設計する場合、これは重要です。を引数として取るメソッドがある場合Map、任意のMap実装を使用してメソッドを呼び出すことができます。したがって、呼び出し元は最適な実装を自由に使用できます。