将棋プログラミング

(将棋に関する)ソフトウェア開発のノウハウ等。

java.lang.NumberFormatException: Invalid int:

最近、Androidアプリ開発中に、サーバから受信したデータを数値化するため、次のコードを書いた。

String str; // サーバから受信したデータ
int int_value = Integer.parseInt(str);

実行すると、次の例外が発生した。

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

この例外は、数値に変換できない場合に発生するが、 "7792"は数値に変換できないとは思えないので、原因の発見に少し時間がかかった。結局、原因は str が CRコードを含んでいたためで、次のコードを追加し、解決。

str = str.replaceAll("\r", ""); // CRコードを削除