0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Javaのラッパークラスを初学者向けにわかりやすく解説する

0
Posted at

はじめに

Java を学び始めると、
「int と Integer の違いって何?」
「List が使えないのはなぜ?」
といった疑問に必ずぶつかります。

その答えが ラッパークラス(Wrapper Class) です。

この記事では、初学者でも理解できるように
ラッパークラスとは何か・なぜ必要なのか・どこで使うのか を丁寧に解説します。

ラッパークラスとは?

Java のプリミティブ型(int, double, boolean など)を
オブジェクトとして扱えるようにしたクラスのことです。

プリミティブ型 ラッパークラス
int Integer
double Double
boolean Boolean
char Character
long Long
float Float
short Short
byte Byte
  • プリミティブ型は「値そのもの」
  • ラッパークラスは「値を包んだオブジェクト」

なぜラッパークラスが必要なの?

1. コレクション(List, Map, Set)がプリミティブ型を扱えないから

Java のコレクションは オブジェクトしか扱えません。

List<int> list;      // ❌ コンパイルエラー
List<Integer> list;  // ✔ 正しい

理由:
コレクションは ジェネリクス を使っており、
ジェネリクスは 参照型(オブジェクト)しか扱えない ため。

2. null を扱えるのはラッパークラスだけ

int a = null;      // ❌ エラー
Integer b = null;  // ✔ OK

DB や JSON の値が「存在しない」場合など、
null を扱う必要がある場面ではラッパークラスが必須です。

3. メソッドの引数にオブジェクトが必要な場面がある

例えば、Java のユーティリティメソッドは
ラッパークラスを前提に作られていることが多いです。

Objects.equals(a, b);

オートボクシングとアンボクシング

Java には、プリミティブ型とラッパークラスを
自動で相互変換する仕組みがあります。

✔ オートボクシング(プリミティブ → ラッパー)

int a = 10;
Integer b = a;  // 自動で Integer に変換される

✔ アンボクシング(ラッパー → プリミティブ)

Integer x = 20;
int y = x;  // 自動で int に変換される

これのおかげで、「いつの間にか Integer を使っていた」状態になりがちです。

ラッパークラスで気をつけるポイント

1. == と equals の違い

Integer a = 1000;
Integer b = 1000;

System.out.println(a == b);      // false(参照が違う)
System.out.println(a.equals(b)); // true(値が同じ)

→ 値の比較は equals を使う
==だとオブジェクトのIDを参照するため、trueにならない

2. null のアンボクシングは例外になる

Integer a = null;
int b = a;  // ❌ NullPointerException

まとめ

  • ラッパークラスは プリミティブ型をオブジェクトとして扱うためのクラス
  • コレクションやジェネリクスで必須
  • null を扱えるのはラッパークラスだけ
  • オートボクシングで自動変換される
  • equals と == の違いに注意

ラッパークラスは Java の基礎ですが、
コレクション・ジェネリクス・例外処理・StreamAPI など
あらゆる分野に関わる重要な概念です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?