2012-05-04 76 views
2

我试图将字符串转换为整数。我有以下代码:将字符串转换为整数

List<String> strings = populateSomeStrings(); 
List<Integer> ints = new ArrayList<Integer>(); 

for (int i = 0; i < strings.size(); i++) { 
    ints.add(Integer.valueOf(strings.get(i))); 
} 

当我运行它,我得到一个异常说:

java.lang.NumberFormatException: Invalid int: "1000" 

任何想法,为什么这会发生?我也尝试过Integer.parseInt,但它做同样的事情。

谢谢

+0

为什么使用Integer?你有没有尝试过使用原始的'int'? – dialex

+2

尝试打印出麻烦的字符串中的字符的Unicode值。那里可能会有意想不到的事情。其次是那个 –

+0

。列出字符串的内容。 – Venki

回答

2

你的字符串中显然有些东西不是数字。

抓住例外并使用codePointAt为例,打印出每个字符的字符串长度和代码点。

这应该告诉你什么是错的。

+0

拍摄。我通过添加strings.get(i).trim()来修复它。 – ThreaT