0

私は2つの数字を持つint配列を持っています。この番号を配列リストにコピーして印刷したいと思います。Integer result[]; の使用はできるだけ控えてください。

  int result[] = {1024,2048};
  List<Integer> res = new ArrayList<Integer>(result);


public class TEA {

    /**
     * @param args
     */
    public static void main(String[] args) {

          int result[] = {1024,2048};
          List<int[]> res = Arrays.asList(result);
          System.out.println(res);


    }

}

出力 :[[I@3312b1dd]

4

2 に答える 2

1

resultInteger[]代わりに を作成できない場合int[]、オプションは明示的なforループを実行することです。

List<Integer> list = new ArrayList<Integer>();
for (int value : array) {
  list.add(value);
}

...または、サードパーティのライブラリを使用できる場合は、Guava のInts.asList(int[]). それは多かれ少なかれ、オプションの全スペースです。

于 2013-05-10T16:55:02.257 に答える
0

Arrays.asList()メソッドを使用して同じことを行います。

List<Integer> res = Arrays.asList(result);

これは配列のリスト ビューであり、要素を追加または削除することはできません。

List<Integer> res = new ArrayList<Integer>(Arrays.asList(result));

ソース配列のすべての要素を新しいリストにコピーします。

編集:

プリミティブ型の配列からラッパー参照型の配列への自動変換はありません。

int result[] = {1024,2048};
List<Integer> list = new ArrayList<Integer>();
for (int value : result) {
    list.add(value);
}
System.out.println(list);
于 2013-05-10T16:30:22.443 に答える