Javaでよく発生する例外:NullPointerException と ArrayIndexOutOfBoundsException の原因と予防法
勉強ちゃん
いろいろ勉強
「int」と「Integer」の違いが分かりますか。
見た目は似ているけど、「何が違うの?」「どっちを使えばいいの?」と迷ったことはありませんか?
この記事では、Java初心者でもわかりやすいように、int と Integer の違いを説明します。
int は Java の 基本データ型(プリミティブ型) です。
主に整数を扱うときに使われます。
int number = 10;
このように、int はただの「数字」です。
軽くて高速なので、基本的な計算などに向いています。
ただし、null は使えません。
Integer は Java の クラス(参照型) です。int をオブジェクトとして扱いたいときに使います。
Integer number = Integer.valueOf(10);
Integer では null を使えるので、データが「ない」状態を表すときに便利です。
また、List<Integer> のようにコレクション(リストなど)で使うことができます。
| 項目 | int(基本型) | Integer(参照型) |
|---|---|---|
| 型の種類 | 基本データ型 | クラス型(オブジェクト) |
| nullを使えるか | 使えない | 使える |
| コレクションで使用 | できない | できる |
| 性能 | 高速・軽い | 少し重い |
| 主な使いどころ | 計算や変数に使う | null管理・コレクションなど |
Java には、int と Integer を自動で変換してくれる便利な機能があります。
int → IntegerInteger → intInteger obj = 5; // オートボクシング
int num = obj; // アンボクシング
とても便利ですが、注意点があります。Integer が null のときにアンボクシングすると、エラーになります。
int は軽くて高速。計算や変数におすすめ。Integer はオブジェクトとして使いたいときに便利。null に注意!用途に合わせて int と Integer を使い分けることが、Javaをうまく使いこなすコツです!