2011-06-25 74 views
-2

为什么类型转换不能在这种情况下工作?为什么类型转换不能在这里工作

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 

如何解决此错误?

回答

-10

尝试这样

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

尽管这已被标记为acceped答案,它应该为后人,这确实是一个坏的解决方案需要注意一个整数,而不是使用通用ArrayList 。 –

+0

嗯。即使这是有效的,但它令人失望地认为它是接受的答案,因为下面更高质量的答案...... –

+0

如果OP实际上有一个更大的程序,但为了清晰起见,它并不是很奇怪。问题是关于类型转换。虽然,我承认,如果你想问一些关于你制作这个例子的字符串列表的话,这不太可能) – Nanne

10

线2条,而不是

ArrayList list = new ArrayList(); 

尝试:

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

,而是:

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

只是做:

int c = list.get(0); 
2

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

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

其中第一注塑Object回到它的Integer,然后自动unboxes到int

0

该对象不能被转换为整数类型...定义的列表将包含作为

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

希望这有助于数据的类型。一个整数转换为字符串,字符串回:

相关问题