2011-06-25 41 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>(); 

希望這有助於數據的類型。一個整數轉換爲字符串,字符串回: