2013-02-25 109 views
0

我有一個ArrayList<Character>。如何將數組內的元素更改爲整數?代碼是用Java編寫的。如何將ArrayList中的元素更改爲不同的對象類型?

例子:

private ArrayList<Character> arrayList; 

我試圖Integer.parseInt()這樣的:

Integer.parseInt(arrayList, arrayList.get(0)); 

parseInt只適用於字符串。

+0

如果u要動態地使用反射,將所有類型的事。 – sunleo 2013-02-25 02:53:23

+0

我從來沒有聽說過動態使用反射。請詳細說明。 =] – Nicholas 2013-02-25 02:54:15

+0

如果你不知道類型的對象將被投入到Int然後首先動態地找到它的類型,然後將相關的方法或塊傳遞給類型爲Int的類型轉換。 – sunleo 2013-02-25 02:58:45

回答

3

那麼看docs,你可以只使用.charValue()並轉換爲int

(int)(arrayList.get(0).charValue()); 
+2

+1忽略我之前對符號擴展的評論。在擴展轉換時,char元素被零擴展(JLS中的第5.1.2節)。 – 2013-02-25 03:01:08

+0

出於某種原因類型轉換不起作用,但如果我省略int數據類型並將內容分配給一個整數變量,它將起作用! – Nicholas 2013-02-25 03:05:58

1

您試圖將字符轉換爲int,而parseInt方法僅適用於字符串。試試這個:

Integer.parseInt(arrayList.get(0).toString()); 
+0

我得到一個NumberFormatException。 =/ – Nicholas 2013-02-25 02:55:56

+1

什麼是你的輸入和在異常之前的完整ArrayList? – 2013-02-25 02:56:47

+0

對於輸入字符串:「[ - ,x,^,2,+,2,x, - ,1,=,0]」這是從文件讀取的多項式。每個arraylist擁有一個唯一的多項式。 – Nicholas 2013-02-25 02:57:39

相關問題