Java Tips | 基本ユーティリティ:Integer.parseInt()

Web APP Java
スポンサーリンク
スポンサーリンク

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();

}
Java

Web開発で非常によく利用されます。

よくある実務例② 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");
Java

Integer.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アプリケーションを開発できるようになります。

タイトルとURLをコピーしました