有 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 

如何解决此错误


共 (4) 个答案

  1. # 1 楼答案

    试试这个

        ArrayList<Integer> list = new ArrayList<Integer>(); 
        int c=list.get(0);   
    
  2. # 2 楼答案

    第2行,而不是

    ArrayList list = new ArrayList();
    

    试试看:

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

    而是:

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

    只要做:

    int c = list.get(0); 
    
  3. # 3 楼答案

    错误是“无法从对象强制转换为int”。编译器希望在那里有一个对象,例如

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

    它首先将Object强制转换回Integer,然后自动将其解除绑定到int

  4. # 4 楼答案

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

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

    希望这有帮助