この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。
ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!
JavaでのintとIntegerの変換:わかりやすく解説
JavaでのintとIntegerの変換の必要性
Javaでは、プリミティブデータ型であるintと、そのラッパークラスであるIntegerが存在します。
これらの間での変換が頻繁に行われるのはなぜでしょうか。今回の記事では、その変換方法と使用例をわかりやすく解説していきます。

JavaのStreamAPIをさらに学びたい方へ
JavaのStreamAPIを理解して頂くために参考書を執筆致しました!
StreamAPIの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
JavaでChatGPTAPIを使ってブログ作成を自動化しませんか?
intからIntegerへの変換
intをIntegerに変換するには、Javaのオートボクシング機能を利用するか、Integer.valueOf()
メソッドを使用します。
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { int primitiveInt = 100; Integer integerObject = Integer.valueOf(primitiveInt); System.out.println(integerObject); } } |
出力結果
100

Integerからintへの変換
Integerをintに変換するには、アンボクシングを利用するか、intValue()
メソッドを使用します。
こちらの例を見てみましょう。
ソースコード例
1 2 3 4 5 6 7 |
public class Program { public static void main(String[] args) { Integer integerObject = 200; int primitiveInt = integerObject.intValue(); System.out.println(primitiveInt); } } |
出力結果
200

変換時の注意点
intとIntegerの変換時には、特にIntegerがnullの場合に注意が必要です。
nullのIntegerを変換すると、NullPointerExceptionが発生します。
ポイント
変換時の最も一般的なトラップは、NullPointerExceptionです。常に変換前のオブジェクトがnullでないことを確認してから変換を行うようにしましょう。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 |
public class Program { public static void main(String[] args) { Integer integerObject = null; try { int primitiveInt = integerObject.intValue(); System.out.println(primitiveInt); } catch (NullPointerException e) { System.out.println("NullPointer例外が発生しました"); } } } |
出力結果
NullPointer例外が発生しました

「オートボクシング」と「アンボクシング」の変換
Javaでは、「オートボクシング」と「アンボクシング」という機能を利用して、intとIntegerを相互に変換することができます。
以下に具体的な変換方法を示します。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class Program { public static void main(String[] args) { // intからIntegerへの変換(オートボクシング) int i = 10; Integer integerObj = i; // Integerからintへの変換(アンボクシング) Integer anotherIntegerObj = 20; int j = anotherIntegerObj; System.out.println("int i: " + i); System.out.println("Integer integerObj: " + integerObj); System.out.println("Integer anotherIntegerObj: " + anotherIntegerObj); System.out.println("int j: " + j); } } |
出力結果
int i: 10
Integer integerObj: 10
Integer anotherIntegerObj: 20
int j: 20

Integerとintの比較方法
int同士の比較は通常の==を使いますが、Integer同士の比較では注意が必要です。
具体的な比較方法を以下に示します。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 |
public class Program { public static void main(String[] args) { int i1 = 100; int i2 = 100; Integer integerObj1 = 100; Integer integerObj2 = 100; System.out.println("i1 == i2: " + (i1 == i2)); System.out.println("integerObj1.equals(integerObj2): " + integerObj1.equals(integerObj2)); } } |
出力結果
i1 == i2: true
integerObj1.equals(integerObj2): true

JavaのInteger.parseIntメソッド
Javaプログラミングにおいて、文字列から整数への変換が必要になる場合がしばしばあります。ここで、Integer.parseInt
メソッドが非常に便利です。
Integer.parseIntの使用方法
1 2 3 4 5 6 7 |
public class ParseIntExample { public static void main(String[] args) { String numberStr = "42"; int number = Integer.parseInt(numberStr); System.out.println("Parsed integer: " + number); } } |
出力結果
Parsed integer: 42
Integer.parseInt
メソッドは、指定された文字列を引数として受け取り、対応するint値を返します。このメソッドが非常に役立つ場面は、ユーザー入力やファイルから読み取ったデータを数値として扱いたい時などです。
重要な点として、このメソッドは文字列が有効な整数を表していない場合にNumberFormatException
をスローします。したがって、不正な文字列が渡される可能性がある場合は、適切なエラー処理を含めることが良いプラクティスとなります。

注意点
Integer.parseInt
を使用する際には、引数として与える文字列が整数としての形式である必要があります。浮動小数点数や非数値文字が含まれる場合、NumberFormatException
が発生する可能性があるので、その点に注意が必要です。
このInteger.parseInt
メソッドの理解と適切な使用は、Javaプログラミングの効率を向上させ、コードのクリーンさを保つ重要な側面です。
まとめ
JavaにおけるintとIntegerの変換は、日常のコーディングにおいて非常に一般的です。
この記事を通じて、その変換方法や注意点についての理解が深まったことを願っています。
変換時のエラーを避けるためにも、常にnullチェックを行うなど、注意深くコーディングを行うことが大切です。


最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!
私は下記のサイトで現在の働き方、フルリモート(週5)の企業に出会うことができました。
今でもとても感謝しています!カウンセリングは無料なので、ぜひどうぞ!
JavaのStreamAPIをさらに学びたい方へ
JavaのStreamAPIを理解して頂くために参考書を執筆致しました!
StreamAPIの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
JavaでChatGPTAPIを使ってブログ作成を自動化しませんか?
この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。
この記事は90%~100%ChatGPTで作られています。