文字列

Java – int型を変換String、Stringをint型に変換する

Javaでは、int型Stringに変換するにはString.valueOf(int)Integer.toString(int)を使用します。

一方、Stringint型に変換するには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.parseIntInteger.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型の相互変換に関するさまざまな方法と注意点について詳しく解説しました。

特に、変換時に注意すべきポイントやベストプラクティスを理解することで、エラーを未然に防ぎ、より安全なプログラムを作成することが可能です。

今後は、これらの知識を活用して、実際のプログラミングにおいて変換処理を行う際に、適切な方法を選択し、エラー処理をしっかりと行うことを心がけてください。

関連記事

Back to top button