Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
String.valueOf() / Integer.toString()
数値や他の型を文字列に変換したり、文字列を数値に変換したりするメソッドです。型変換はJavaの入出力処理や文字列結合の場面で頻繁に必要になります。
構文
// 数値・真偽値などを文字列に変換します。 String.valueOf(int value); String.valueOf(double value); String.valueOf(boolean value); String.valueOf(char value); // int を文字列に変換します。 Integer.toString(int i); Integer.toString(int i, int radix); // 基数を指定して変換します。 // double を文字列に変換します。 Double.toString(double d); // 文字列を int に変換します。 Integer.parseInt(String s); // 文字列を double に変換します。 Double.parseDouble(String s);
メソッド一覧
| メソッド | 概要 |
|---|---|
| String.valueOf(value) | 引数の値を文字列に変換して返します。null を渡した場合は文字列 "null" を返します。 |
| Integer.toString(int i) | int 型の値を十進数の文字列に変換して返します。 |
| Integer.toString(int i, int radix) | 指定した基数(2〜36)で整数を文字列に変換します。2進数・16進数変換に便利です。 |
| Double.toString(double d) | double 型の値を文字列に変換して返します。 |
| Integer.parseInt(String s) | 文字列を int 型に変換します。数値以外の文字が含まれる場合は例外がスローされます。 |
| Double.parseDouble(String s) | 文字列を double 型に変換します。 |
サンプルコード
// int を文字列に変換します。
int num = 42;
String str1 = String.valueOf(num);
String str2 = Integer.toString(num);
System.out.println(str1); // 『42』と出力されます。
System.out.println(str2); // 『42』と出力されます。
// double を文字列に変換します。
double price = 9.99;
System.out.println(String.valueOf(price)); // 『9.99』と出力されます。
// boolean を文字列に変換します。
System.out.println(String.valueOf(true)); // 『true』と出力されます。
// 文字列を int に変換します。
String age = "25";
int ageNum = Integer.parseInt(age);
System.out.println(ageNum + 1); // 『26』と出力されます。
// 文字列を double に変換します。
String weight = "65.5";
double w = Double.parseDouble(weight);
System.out.println(w * 2); // 『131.0』と出力されます。
// 2進数・16進数への変換です。
System.out.println(Integer.toString(255, 2)); // 『11111111』(2進数)と出力されます。
System.out.println(Integer.toString(255, 16)); // 『ff』(16進数)と出力されます。
// 数値以外の文字列をパースすると例外が発生します。
try {
int x = Integer.parseInt("abc"); // NumberFormatException がスローされます。
} catch (NumberFormatException e) {
System.out.println("数値に変換できません。");
}
概要
『String.valueOf()』はあらゆる型を文字列に変換できる汎用メソッドです。内部的には各ラッパークラスの toString() を呼び出しており、動作はほぼ同じです。数値を文字列に結合するだけなら "値: " + num のように + 演算子を使うとコンパイラが自動的に変換しますが、明示的な変換には『String.valueOf()』が読みやすいです。
『Integer.parseInt()』や『Double.parseDouble()』は文字列に数値以外の文字が含まれると NumberFormatException がスローされます。ユーザーの入力を変換する場合は必ず try-catch でエラー処理を行ってください。
文字列の比較には『equals() / compareTo()』、文字配列への変換には『toCharArray()』を使用してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。