2012-05-04 269 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