2013-02-25 64 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

相关问题