为什么类型转换在这里不起作用

时间:2011-06-25 13:36:06

标签: java

为什么在这种情况下类型转换不起作用?

int b[] = {1,2,3,4,5};
    ArrayList list = new ArrayList();
    for (int i = 0; i < b.length; i++) {
    list.add(i);
    }
        Collections.sort(list);
    int c = (int) list.get(0); // This line is giving error 

如何解决此错误?

4 个答案:

答案 0 :(得分:10)

第2行,而不是

ArrayList list = new ArrayList();

尝试:

ArrayList<Integer> list = new ArrayList<Integer>();

而是:

int c = (int) list.get(0);

只是这样做:

int c = list.get(0); 

答案 1 :(得分:2)

错误是“无法从Object转换为int”。编译器想要一个对象,例如

int c = (Integer) list.get(0);

首先将Object投射回Integer,然后将其自动取消装箱到int

答案 2 :(得分:0)

无法将对象转换为整数类型...定义列表将包含的数据类型

ArrayList<Integer> list = new ArrayList<Integer>();

希望这有帮助。

答案 3 :(得分:-10)

试试这个

    ArrayList<Integer> list = new ArrayList<Integer>(); 
    int c=list.get(0);