Java 文字列を数値(int)に変換する方法 - クラス Integer

Javaで文字列(String)から整数型(int)へと変換する方法です。

Javaで文字列(String)から整数型(int)へと変換するには、IntegerクラスのparseIntメソッドを利用します。

変換できない文字列が指定されると 例外( NumberFormatException ) が発生するので注意が必要です。

実務ではよく使いますので、しっかり理解しておきましょう。

ここでは Javaで文字列(String)から整数型(int)へと変換する方法をサンプルソースで解説 します。


サンプルソース

今回は、整数型へ変換できなかった場合、デフォルト値を返すサンプルを用意しました。


/**
 * 文字列の引数を符号付き 10 進数の整数型として構文解析します。
 * 文字列が構文解析可能な int 値を含まない場合は、指定されたデフォルトの int 値を返します。
 *
 * @param value 構文解析対象の int 表現を含む String
 * @param defaultValue デフォルト値
 * @return 10 進数の引数で表される整数値
 */
public static int parseInt(String value, int defaultValue) {

    try {
        // intに変換して返す
        return Integer.parseInt(value);
    } catch ( NumberFormatException e ) {
        // デフォルト値を返す
        return defaultValue;
    }
}


/**
 * 文字列の引数を符号付き 10 進数の整数型として構文解析します。
 * 文字列が構文解析可能な int 値を含まない場合は、 0 を返します。
 *
 * @param value 構文解析対象の int 表現を含む String
 * @return 10 進数の引数で表される整数値
 */
public static int parseInt(String value) {

    // int変換して返す
    return parseInt(value, 0);

}

parseIntメソッド

今回はIntegerUtilsというクラスを作りstaticメソッドとして用意しています。

内部ではInteger.parseInt を実行していますが、NumberFormatExceptionが発生した場合は、デフォルト値を返すようにしてあります。

このようなメソッドを用意しておくことで、ビジネスロジック内に余計な try {} catch {} を書く必要がなく、ソースを美しく保つことができますので、ぜひ活用ください。

それでは、テストを実施してみましょう。

テストしてみる

以下のようなテストソースを用意しました。


System.out.println(IntegerUtils.parseInt("1000"));
System.out.println(IntegerUtils.parseInt("1000",0));
System.out.println(IntegerUtils.parseInt("1,000",0));
System.out.println(IntegerUtils.parseInt("100.25",0));
System.out.println(IntegerUtils.parseInt("xxx"));
System.out.println(IntegerUtils.parseInt(null));
  • 1 行目:特に問題がないですね。
  • 2 行目:整数に変換できる文字列ですが、デフォルト値を設定しています。整数に変換できるので、デフォルト値は返されません。
  • 3 行目:カンマが付いているので整数に変換できない文字列です。デフォルト値が返されます。
  • 4 行目:小数点が付いているので整数に変換できない文字列です。デフォルト値が返されます。
  • 5 行目:整数に変換できない文字列です。デフォルト値が返されます。
  • 6 行目:null は整数に変換できません。デフォルト値が返されます。

結果を確認する

結果は、以下の通りです。


1000
1000
0
0
0
0

まとめ

Javaで文字列(String)から整数型(int)へと変換する方法をサンプルソースで解説しました。

文字列から数値の変換について理解できましたか。この辺りは実務では常に求められるので、しっかり覚えておきたいですね。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。