foreachループを使用してのArrayListを反復しながら、なぜ私のプログラムは、このタイプのエラーを示していますか?

RituラジShrivastava:

[私はcom.cg.genuine.ui.ArrayLisPr.mainではjava.lang.Integerにキャストすることはできません(ArrayLisPr.java:12)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayLisPr {
    public static void main(String[] args) {

        int[] x={11,20,3,4,5};
        List<Integer> po = new ArrayList(Arrays.asList(x));
        for(Integer val:po){
            System.out.println(val);
        }
    }
}
Mureinik:

xある単一のオブジェクトでありint[]、そのようなものとして、にキャストすることができませんIntegerあなたは中間変数を削除し、使用している場合はArrays.asList、直接、JavaがそれぞれのAutoBoxのことができるようになりますintInteger、個別に:

List<Integer> po = new ArrayList<>(Arrays.asList(11,20,3,4,5));

EDIT:

あなたが残しておきたい場合はint[]、参照を、あなたはそれを変換する必要がありますList<Integer>手動で。そうするための一つの方法は、それをストリーミングし、すべての要素をボックスにあります:

List<Integer> po = Arrays.stream(x).boxed().collect(Collectors.toList());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=286084&siteId=1