8

だから、私は少し問題があります。list整数の配列(と呼ばれる)をArrayList(と呼ばれる)に変換しようとしていarrListます。以下に示すコードは正常に機能します。

java.util.ArrayList arrList = new java.util.ArrayList(Arrays.asList(list));

ただし、コンパイルすると、警告が1つあります。上記の行は、「チェックされていない、または安全でない操作」を使用していると報告されています。

残念ながら、私はこの警告を処理できないようです。これは宿題なので、基準の一部は警告なしです。警告/エラーなしで配列をArrayListに変換する方法はありますか?

4

5 に答える 5

43

正しい「配列」インポートを使用していることを確認してください。デフォルトでは、私のEclipseは「edu.emory.mathcs.backport.java.util」をインポートしようとします。それが単なる標準の「java.util」バージョンであることを確認し、次のようなことを行う必要があります。

    String[] arr = new String[]{"one", "two", "three"};
    List<String> list = Arrays.asList(arr);
于 2016-06-21T20:48:53.450 に答える
5
Collections.addAll(targetList, sourceArray); 

上記の解決策を試してください。動作するはずです

于 2012-06-28T06:34:06.347 に答える
1

あなたlistはの配列でintあり、ではないように見えるので、Integerそれらをループする必要があります。次のことを試してください。

List<Integer> intList = new ArrayList<Integer>(list.length);
for (int i: list) {
  intList.add(i);
}
于 2012-06-28T06:36:38.287 に答える
0

答えが1行だけに制限されていない場合、最もダミープルーフの方法は次のようになります。

java.util.ArrayList<Integer> arrList = new java.util.ArrayList<Integer>();
for (int x : arrList) {
    arrList.add(x);
}
于 2012-06-28T06:41:33.300 に答える
-2

この警告は通常、rawタイプのコレクションを作成するときに発行されます。つまり、含まれるオブジェクトのタイプを定義しません。

java.util.ArrayList arrList = new java.util.ArrayList(Arrays.asList(list));// issues warning as you made ArrayList of raw type.

これを克服するには、ArrayList宣言にオブジェクトタイプを追加するだけです。

java.util.ArrayList<Integer> arrList = new java.util.ArrayList(Arrays.asList(list));
于 2012-06-28T06:48:09.693 に答える