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

Java 为什么类型转换在这里不起作用,java,Java,为什么typecast在这种情况下不起作用 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 intb[]

为什么typecast在这种情况下不起作用

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 
intb[]={1,2,3,4,5};
ArrayList=新建ArrayList();
for(int i=0;i
如何解决此错误???

第2行,而不是

ArrayList list = new ArrayList();
尝试:

只要做:

int c = list.get(0); 
错误为“无法从对象强制转换为int”。编译器希望在那里有一个对象,例如

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

它首先将
对象
强制转换回
整数
,然后将其自动取消绑定为
整数

对象无法转换为整数类型。。。定义列表将包含的数据类型,如下所示:

ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList list=new ArrayList();
希望这有帮助。

像这样试试

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

尽管这已被标记为已接受的答案,但应该为后代指出,这确实是一个糟糕的解决方案:它将整数转换为字符串,并将字符串转换回整数,而不是使用通用的ArrayList.Hmmm。即使这是可行的,但鉴于下面高质量的答案,将其视为公认的答案也是令人失望的……如果OP实际上有一个更大的程序,这并不奇怪,但对于clearity来说,它归结为这一点。问题是关于排版的。虽然,我承认,如果你想问一些关于字符串列表的问题,你不太可能会以这个为例:)
ArrayList<Integer> list = new ArrayList<Integer>();
    ArrayList<Integer> list = new ArrayList<Integer>(); 
    int c=list.get(0);