Integer.parseInt()とは何か
Javaで業務システムを開発していると、文字列として受け取った数値を計算に利用したい場面が頻繁にあります。
例えば、
- Webフォームの入力値
- CSVファイルのデータ
- Excelインポートデータ
- APIレスポンス
- 設定ファイルの値
- 環境変数
などです。
これらのデータは文字列(String)として受け取ることが多いため、そのままでは数値計算ができません。
そこで利用するのが
Integer.parseInt()
です。
Integer.parseInt(文字列)Javaこのメソッドは文字列をint型へ変換します。
Javaの実務開発では登場回数が非常に多く、初心者が最初に覚えるべき変換メソッドのひとつです。
なぜ変換が必要なのか
初心者が最初につまずきやすいポイントです。
次のコードを見てください。
// 文字列
String age = "20";
// 連結される
System.out.println(age + 10);
Java実行結果
2010
20と10を足したかったのに、文字列同士が連結されてしまいました。
これはageが数値ではなく文字列だからです。
そこでInteger.parseInt()を利用します。
// 文字列
String age = "20";
// int型へ変換
int number =
Integer.parseInt(age);
// 数値計算
System.out.println(number + 10);
Java実行結果
30
今度は正しく計算されました。
Integer.parseInt()の基本構文
最もシンプルな書き方です。
// 数字の文字列
String value = "100";
// intへ変換
int number =
Integer.parseInt(value);
// 確認
System.out.println(number);
Java実行結果
100
文字列が整数へ変換されています。
ステップバイステップで理解する
ステップ1:文字列を準備する
// ユーザー入力を想定
String quantity = "5";
Java現在はString型です。
ステップ2:Integer.parseInt()を実行する
// intへ変換
int count =
Integer.parseInt(quantity);
Javaステップ3:数値計算してみる
// 計算可能
int total = count * 2;
System.out.println(total);
Java実行結果
10
int型に変換されたことで計算できるようになりました。
変換できる値と変換できない値
正常に変換できる例
// OK
Integer.parseInt("100");
// OK
Integer.parseInt("-50");
// OK
Integer.parseInt("0");
Javaこれらはすべて整数として認識できます。
変換できない例
// NG
Integer.parseInt("ABC");
Java実行結果
NumberFormatException
数値ではないため変換できません。
特に重要:NumberFormatExceptionとは
Integer.parseInt()を学ぶ上で最も重要な例外です。
例えば次のコードです。
// 失敗する例
String value = "Java";
// 変換
int number =
Integer.parseInt(value);
Java実行結果
NumberFormatException
この例外は、 「数値として解釈できない文字列を変換しようとした」 場合に発生します。
実務では頻繁に遭遇するため必ず覚えておきましょう。
実務では例外処理を組み合わせる
ユーザー入力は信用できません。
そのため例外処理を組み合わせることが重要です。
try {
// 数値変換
int age =
Integer.parseInt(input);
System.out.println(age);
} catch (NumberFormatException e) {
// 入力エラー
System.out.println("数値を入力してください");
}
Java業務システムでは基本的な書き方です。
よくある実務例① フォーム入力
// 年齢入力
String ageText =
request.getParameter("age");
try {
// 数値へ変換
int age =
Integer.parseInt(ageText);
// 業務処理
save(age);
} catch (NumberFormatException e) {
// 入力エラー
showError();
}
JavaWeb開発で非常によく利用されます。
よくある実務例② CSV取込
// CSVから取得
String quantity = csv[2];
try {
// 数量変換
int count =
Integer.parseInt(quantity);
} catch (NumberFormatException e) {
// 不正データログ
log.error("数量不正");
}
Javaインポート機能では頻出します。
よくある実務例③ 設定値取得
// 設定取得
String timeout =
properties.getProperty(
"timeout"
);
// 秒数へ変換
int timeoutSeconds =
Integer.parseInt(timeout);
Javaシステム設定の読み込みでもよく利用されます。
空文字に注意しよう
初心者が見落としやすいポイントです。
// 空文字
String value = "";
// 変換
Integer.parseInt(value);
Java実行結果
NumberFormatException
空文字も変換できません。
事前チェックが必要です。
// 未入力チェック
if (value != null &&
!value.isBlank()) {
int number =
Integer.parseInt(value);
}
Java前後の空白にも注意しよう
実務ではユーザー入力に空白が混じることがあります。
// 前後に空白あり
String value = " 100 ";
// 失敗
Integer.parseInt(value);
Java実行結果
NumberFormatException
この場合はtrim()を利用します。
// 空白除去
int number =
Integer.parseInt(
value.trim()
);
Java安全に変換できます。
変換できる範囲にも注意
int型には上限と下限があります。
// 最大値
2147483647
// 最小値
-2147483648
Javaこれを超える値は変換できません。
// 範囲外
Integer.parseInt(
"999999999999"
);
Java実行結果
NumberFormatException
大きな数値を扱う場合はLong.parseLong()を使用します。
Integer.valueOf()との違い
初心者がよく混同するメソッドです。
Integer.parseInt()
// intを返す
int age =
Integer.parseInt("20");
JavaInteger.valueOf()
// Integerを返す
Integer age =
Integer.valueOf("20");
Java違いは戻り値の型です。
実務ではどちらも頻繁に利用されます。
実務で使えるテンプレート集
基本テンプレート
// String → int
int value =
Integer.parseInt(text);
Java例外処理付きテンプレート
try {
int value =
Integer.parseInt(text);
} catch (NumberFormatException e) {
// エラー処理
}
Java空白除去テンプレート
// trimして変換
int value =
Integer.parseInt(
text.trim()
);
Java入力チェック付きテンプレート
// 未入力チェック
if (text != null &&
!text.isBlank()) {
int value =
Integer.parseInt(text);
}
Java情報セキュリティの観点から見る重要性
業務システムでは入力値をそのまま信用してはいけません。
ユーザーや外部システムから受け取ったデータには、
- 文字列混入
- 異常値
- 範囲外数値
- 空文字
- 不正データ
が含まれる可能性があります。
そのためInteger.parseInt()を利用する場合は、例外処理や入力値検証を組み合わせることが重要です。
入力検証を怠ると、業務処理停止や予期しないシステム障害につながる可能性があります。
初心者が覚えておくべき重要ポイント
- 文字列をint型へ変換する
- 数値計算できるようになる
- 不正な文字列ではNumberFormatExceptionが発生する
- 空文字も変換できない
- trim()との組み合わせが便利
- 例外処理を行うのが実務の基本
- ユーザー入力は必ず検証する
まとめ
Integer.parseInt()は、文字列をint型へ変換するためのJava標準メソッドです。
- Stringをintへ変換できる
- 数値計算が可能になる
- フォーム入力やCSV取込で頻繁に利用される
- 不正値ではNumberFormatExceptionが発生する
- 入力チェックと例外処理が重要
- 実務での利用頻度は非常に高い
- Java開発者が必ず身につけるべき基本メソッドである
特に業務システムでは、文字列として受け取ったデータを数値へ変換する処理が日常的に発生します。Integer.parseInt()を正しく理解し、例外処理や入力検証と組み合わせて利用することで、安全で堅牢なJavaアプリケーションを開発できるようになります。
