Java – int型を変換String、Stringをint型に変換する
Javaでは、int型
をString
に変換するにはString.valueOf(int)
やInteger.toString(int)
を使用します。
一方、String
をint型
に変換するにはInteger.parseInt(String)
を用います。
例えば、int num = 123;
をString
に変換する場合はString str = String.valueOf(num);
、逆にString str = "123";
をint
に変換する場合はint num = Integer.parseInt(str);
となります。
int型をString型に変換する方法
Javaでは、int型
の数値をString型
に変換する方法はいくつかあります。
ここでは、代表的な方法を紹介します。
1. String.valueOfメソッドを使用する
String.valueOfメソッド
を使うと、int型
の値を簡単にString型
に変換できます。
public class App {
public static void main(String[] args) {
int number = 123; // int型の数値
String str = String.valueOf(number); // int型をString型に変換
System.out.println(str); // 出力結果を表示
}
}
123
2. Integer.toStringメソッドを使用する
Integer.toStringメソッド
も、int型
をString型
に変換するための便利な方法です。
public class App {
public static void main(String[] args) {
int number = 456; // int型の数値
String str = Integer.toString(number); // int型をString型に変換
System.out.println(str); // 出力結果を表示
}
}
456
3. String.formatメソッドを使用する
String.formatメソッド
を使うことで、フォーマットを指定しながらint型
をString型
に変換できます。
public class App {
public static void main(String[] args) {
int number = 789; // int型の数値
String str = String.format("%d", number); // int型をString型に変換
System.out.println(str); // 出力結果を表示
}
}
789
4. 文字列連結を使用する
文字列と連結することで、int型
をString型
に変換することも可能です。
public class App {
public static void main(String[] args) {
int number = 101; // int型の数値
String str = number + ""; // int型をString型に変換
System.out.println(str); // 出力結果を表示
}
}
101
上記の方法を使うことで、int型
の数値をString型
に簡単に変換できます。
用途に応じて適切な方法を選択してください。
String型をint型に変換する方法
Javaでは、String型
の数値をint型
に変換する方法がいくつかあります。
ここでは、代表的な方法を紹介します。
1. Integer.parseIntメソッドを使用する
Integer.parseIntメソッド
を使うと、String型
の数値をint型
に変換できます。
この方法が最も一般的です。
public class App {
public static void main(String[] args) {
String str = "123"; // String型の数値
int number = Integer.parseInt(str); // String型をint型に変換
System.out.println(number); // 出力結果を表示
}
}
123
2. Integer.valueOfメソッドを使用する
Integer.valueOfメソッド
も、String型
をint型
に変換するための方法です。
このメソッドは、Integerオブジェクトを返しますが、int型
に自動的に変換されます。
public class App {
public static void main(String[] args) {
String str = "456"; // String型の数値
int number = Integer.valueOf(str); // String型をint型に変換
System.out.println(number); // 出力結果を表示
}
}
456
3. 例外処理を使用する
String型
の値が数値でない場合、Integer.parseInt
やInteger.valueOfメソッド
はNumberFormatException
をスローします。
これを考慮して、例外処理を行うことが重要です。
public class App {
public static void main(String[] args) {
String str = "abc"; // 数値でないString型
try {
int number = Integer.parseInt(str); // String型をint型に変換
System.out.println(number); // 出力結果を表示
} catch (NumberFormatException e) {
System.out.println("数値に変換できません: " + str); // エラーメッセージを表示
}
}
}
数値に変換できません: abc
4. 文字列の前後の空白を削除する
String型
の数値に空白が含まれている場合、trimメソッド
を使って空白を削除してから変換することができます。
public class App {
public static void main(String[] args) {
String str = " 789 "; // 空白を含むString型の数値
int number = Integer.parseInt(str.trim()); // 空白を削除してから変換
System.out.println(number); // 出力結果を表示
}
}
789
上記の方法を使うことで、String型
の数値をint型
に簡単に変換できます。
数値以外の文字列が含まれている場合は、例外処理を行うことを忘れないようにしましょう。
変換時の注意点とベストプラクティス
int型
とString型
の変換を行う際には、いくつかの注意点とベストプラクティスがあります。
これらを理解しておくことで、エラーを防ぎ、より安全なプログラムを作成できます。
1. 数値以外の文字列に注意
String型
をint型
に変換する際、数値以外の文字列が含まれているとNumberFormatException
が発生します。
変換前に、文字列が数値であることを確認することが重要です。
public class App {
public static void main(String[] args) {
String str = "123abc"; // 数値以外の文字列
try {
int number = Integer.parseInt(str); // 変換を試みる
} catch (NumberFormatException e) {
System.out.println("数値に変換できません: " + str); // エラーメッセージを表示
}
}
}
2. 空白の取り扱い
String型
の数値に前後の空白が含まれている場合、trimメソッド
を使用して空白を削除してから変換することが推奨されます。
これにより、意図しないエラーを防ぐことができます。
public class App {
public static void main(String[] args) {
String str = " 456 "; // 空白を含むString型の数値
int number = Integer.parseInt(str.trim()); // 空白を削除してから変換
System.out.println(number); // 出力結果を表示
}
}
3. 範囲の確認
int型
は-2,147,483,648から2,147,483,647までの範囲を持っています。
この範囲を超える数値をString型
から変換しようとすると、NumberFormatException
が発生します。
変換前に範囲を確認することが重要です。
public class App {
public static void main(String[] args) {
String str = "3000000000"; // int型の範囲を超える数値
try {
int number = Integer.parseInt(str); // 変換を試みる
} catch (NumberFormatException e) {
System.out.println("数値がint型の範囲を超えています: " + str); // エラーメッセージを表示
}
}
}
4. 例外処理の実装
変換処理には例外が発生する可能性があるため、try-catchブロックを使用して適切に例外処理を行うことが重要です。
これにより、プログラムが予期しないエラーで停止するのを防ぎます。
public class App {
public static void main(String[] args) {
String str = "abc"; // 数値でないString型
try {
int number = Integer.parseInt(str); // 変換を試みる
} catch (NumberFormatException e) {
System.out.println("数値に変換できません: " + str); // エラーメッセージを表示
}
}
}
5. コードの可読性を保つ
変換処理を行う際は、コードの可読性を保つことも重要です。
変換処理を行うメソッドを作成し、必要に応じて呼び出すことで、コードを整理しやすくなります。
public class App {
public static void main(String[] args) {
String str = "123"; // String型の数値
int number = convertStringToInt(str); // メソッドを呼び出して変換
System.out.println(number); // 出力結果を表示
}
public static int convertStringToInt(String str) {
return Integer.parseInt(str.trim()); // 空白を削除してから変換
}
}
int型
とString型
の変換を行う際は、数値以外の文字列や空白、範囲の確認、例外処理、コードの可読性に注意を払いましょう。
これらのベストプラクティスを守ることで、より安全で信頼性の高いプログラムを作成できます。
まとめ
この記事では、int型
とString型
の相互変換に関するさまざまな方法と注意点について詳しく解説しました。
特に、変換時に注意すべきポイントやベストプラクティスを理解することで、エラーを未然に防ぎ、より安全なプログラムを作成することが可能です。
今後は、これらの知識を活用して、実際のプログラミングにおいて変換処理を行う際に、適切な方法を選択し、エラー処理をしっかりと行うことを心がけてください。