【Java】stringからintに変換する方法

【Java】stringからintに変換する方法

公開: 更新:


JavaでString型からint型への変換方法

JavaでStringをint型に変換する場合、主にInteger.parseInt()メソッドInteger.valueOf()メソッドを使用します。これらのメソッドは文字列整数型に変換する際に広く利用されています。parseInt()メソッドはプリミティブ型のintを返すのに対し、valueOf()メソッドはIntegerオブジェクトを返すという違いがあります。

Integer.parseInt()メソッドは文字列を直接intに変換するため、パフォーマンスが重視される場面に適しています。一方、Integer.valueOf()メソッドはIntegerオブジェクトを返すため、オブジェクト指向プログラミングの文脈で使用されることが多いです。

// StringからIntへの変換サンプルコード
public class StringToIntConversion {
    public static void main(String[] args) {
        String strNumber = "123";
        
        // Integer.parseIntを使用
        int num1 = Integer.parseInt(strNumber);
        
        // Integer.valueOfを使用
        Integer num2 = Integer.valueOf(strNumber);
        
        System.out.println("parseInt結果: " + num1);
        System.out.println("valueOf結果: " + num2);
    }
}
実行結果
parseInt結果: 123
valueOf結果: 123

文字列が数値として解析できない場合、NumberFormatExceptionが発生する点に注意する必要があるため、適切なエラーハンドリングを実装することをお勧めします。また、JavaのAutoboxingとUnboxingの機能により、Integerオブジェクトとプリミティブintの変換は自動的に行われるため、状況に応じて適切なメソッドを選択できます。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

Javaでint型からString型へ変換する方法

JavaでintをStringに変換する場合、String.valueOf()メソッドやInteger.toString()メソッドが一般的に使用されます。これらのメソッドは整数値を文字列表現に変換する際に、簡単かつ効率的に利用できます。また、文字列連結演算子(+)を使用する方法もありますが、パフォーマンスの観点から多用は推奨されません。

String.valueOf()メソッドは、nullを含むあらゆるオブジェクトを文字列に変換できる汎用的なメソッドです。一方、Integer.toString()メソッドは整数型に特化しており、より直接的な変換を行います。どちらのメソッドも同等の結果を生成しますが、コードの文脈に応じて適切な方法を選択することが重要です。

// intからStringへの変換サンプルコード
public class IntToStringConversion {
    public static void main(String[] args) {
        int number = 456;
        
        // String.valueOfを使用
        String str1 = String.valueOf(number);
        
        // Integer.toStringを使用
        String str2 = Integer.toString(number);
        
        System.out.println("String.valueOf結果: " + str1);
        System.out.println("Integer.toString結果: " + str2);
    }
}
実行結果
String.valueOf結果: 456
Integer.toString結果: 456

int型からString型への変換は、例外が発生することはなく安全に行えます。大量の変換を行う場合は、StringBuilder等を使用するとパフォーマンスが向上します。文字列連結は内部的にStringBuilderを使用しますが、明示的にStringBuilderを使用する方が効率的な場合が多いです。

Stringからintに変換する際の例外処理と基数指定

JavaでStringをintに変換する際、入力文字列が有効な整数を表していない場合は、NumberFormatExceptionが発生するため、変換処理を行う際には適切な例外処理を実装することが重要です。try-catchブロックを使用することによって、エラーを適切に処理しプログラムの堅牢性を高めることができます。

また、Integer.parseInt()メソッドやInteger.valueOf()メソッドは、オーバーロードされたバージョンとして基数(radix)を指定するパラメータを受け取ることができます。受け取れることによって2進数や16進数など、10進数以外の数値表現を持つ文字列も適切に変換することが可能になります。基数を指定することで、様々な数値表現に対応できる柔軟性の高いコードの作成が可能です。

// String-int変換の例外処理と基数指定サンプル
public class StringIntConversionAdvanced {
    public static void main(String[] args) {
        String[] inputs = {"123", "ABC", "1010", "FF"};
        
        for (String input : inputs) {
            // 10進数変換
            try {
                int decimal = Integer.parseInt(input);
                System.out.println(input + " (10進数): " + decimal);
            } catch (NumberFormatException e) {
                System.out.println(input + ": 10進数として変換できません");
            }
            
            // 2進数変換
            try {
                int binary = Integer.parseInt(input, 2);
                System.out.println(input + " (2進数): " + binary);
            } catch (NumberFormatException e) {
                System.out.println(input + ": 2進数として変換できません");
            }
            
            // 16進数変換
            try {
                int hex = Integer.parseInt(input, 16);
                System.out.println(input + " (16進数): " + hex);
            } catch (NumberFormatException e) {
                System.out.println(input + ": 16進数として変換できません");
            }
            
            System.out.println();
        }
    }
}
実行結果
123 (10進数): 123
123: 2進数として変換できません
123 (16進数): 291

ABC: 10進数として変換できません
ABC: 2進数として変換できません
ABC (16進数): 2748

1010 (10進数): 1010
1010 (2進数): 10
1010 (16進数): 4112

FF: 10進数として変換できません
FF: 2進数として変換できません
FF (16進数): 255

基数を指定する際は、その基数で表現可能な文字だけを含む文字列を渡す必要があります。例えば、2進数の場合は「0」と「1」のみ、16進数の場合は「0〜9」と「A〜F」(大文字小文字を区別しない)のみが有効です。

実務では、ユーザー入力からの変換や外部データの処理など、String型とint型の相互変換は頻繁に発生します。適切な変換メソッドと例外処理を選択することで、安全で効率的なJavaプログラムを作成することが出来るでしょう。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する