これは本当の初心者の質問です(私はまだJavaの基本を学んでいます)。
メソッドがArrayList<String>ではなくList<String>を返す理由、またはArrayListではなくListパラメーターを受け入れる理由を(ある程度)理解できます。メソッドに違いがない場合(つまり、ArrayListの特別なメソッドが必要ない場合)、メソッドはより柔軟になり、呼び出し元にとって使いやすくなります。SetやMapなどの他のコレクションタイプにも同じことが言えます。
私が理解していないこと:次のようなローカル変数を作成するのが一般的な方法のようです。
List<String> list = new ArrayList<String>();
このフォームの頻度は低くなりますが、次のようになります。
ArrayList<String> list = new ArrayList<String>();
ここでの利点は何ですか?
私が見ることができるのは、マイナーな欠点だけです。java.util.Listの個別の「インポート」行を追加する必要があります。技術的には、「import java.util。*」を使用できますが、「import」行が一部のIDEによって自動的に追加されるためか、あまり頻繁には表示されません。