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)へと変換する方法をサンプルソースで解説しました。
文字列から数値の変換について理解できましたか。この辺りは実務では常に求められるので、しっかり覚えておきたいですね。
おつかれさまでした。