3

2つの違いは何ですか:

最初 :

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

2番目 :

ArrayList linkList = new ArrayList<String>();

それとも違いはありますか?

4

3 に答える 3

9
ArrayList<String> linkList = new ArrayList<String>();

タイプ セーフを確保するためにジェネリックを使用します。

ArrayList linkList = new ArrayList<String>();

しません。@BruceMartinが指摘しているように、これは行が

linkList.add(0);
String element = (String) linkList.get(0);  

最初のケースではコンパイル時エラーが発生しますが、実行時に 2 番目の宣言で失敗します。

別の例として、2 つの選択肢からの 2 番目のバリアントにはキャストが必要get()ですString

String element = linkList.get(0);  

2番目:

String element = (String) linkList.get(0);
于 2012-08-16T13:07:34.310 に答える
3

コンパイル時:最初のものはジェネリックを使用し、型の安全性とコードの可読性を保証します。

実行時:それらは同じです。

于 2012-08-16T13:09:01.547 に答える
0

また、最初のケースではlinkListは String 型であり、2 番目のケースではObject型です。

于 2012-08-16T13:36:07.840 に答える