0

コードでジェネリック クラスをインスタンス化するときは、次のようにすると常に教えられてきました。

ArrayList<String> a = new ArrayList<String>();

しかし、私がEclipseで作業しているときは、常にこれにオートコンプリートします:

ArrayList<String> a = new ArrayList <>();

これら2つのステートメントに違いはありますか?

4

2 に答える 2

2

後者は、Java 7の単なるショートカット構文(型推論として知られています)です。

詳細については、ジェネリックインスタンス作成の型推論を参照してください。

于 2013-03-02T16:32:34.667 に答える
0
ArrayList<String> a = new ArrayList <>();

この場合、型推論が適用されます。したがって、コンストラクターの呼び出し中にパラメーター化された型を明示的に宣言する必要はありません。

于 2013-03-02T16:33:33.260 に答える