最近、Androidアプリ開発中に、サーバから受信したデータを数値化するため、次のコードを書いた。
String str; // サーバから受信したデータ int int_value = Integer.parseInt(str);
実行すると、次の例外が発生した。
java.lang.NumberFormatException: Invalid int: "7792"
この例外は、数値に変換できない場合に発生するが、 "7792"は数値に変換できないとは思えないので、原因の発見に少し時間がかかった。結局、原因は str が CRコードを含んでいたためで、次のコードを追加し、解決。
str = str.replaceAll("\r", ""); // CRコードを削除