20
10

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】知識編 intとInteger、どっちを使えばいいの?

Posted at

はじめに

Javaを学んでいると、こんな素朴な疑問にぶつかることがあります。

int と Integer の違いって何?どっちを使えばいいの?

特に、ポケモンの回復アイテムをMapやListで管理したいとき、
Integerを使わないと怒られることも……。この記事では、
現場での使い分けを含めて、この疑問をまるっと解消します!


1. intIntegerのちがい

項目 int Integer
種類 プリミティブ型(基本型) 参照型(オブジェクト型)
メモリの扱い 値を直接保持(ヒープ領域・スタック領域) オブジェクトとしてヒープ領域に保持
null の代入 不可 可(null を代入できる)
メソッドの利用 できない .compareTo() などのメソッドが使える
コレクション利用 不可(直接は使えない) 可(List, Map などで使える)

2. なぜ Integer が必要なときがあるの?

Javaのコレクション(ListやMapなど)は、「参照型(オブジェクト)」を
使う必要があるため。

int のようなプリミティブ型を使う場合は、
Integerなどのラッパークラスに変換して扱う必要があります

List<int> nums = new ArrayList<>(); // ❌ コンパイルエラー
List<Integer> nums = new ArrayList<>(); // ✅ OK!

3. 実際の現場で使うのはどっち?

基本的には以下の考え方でOKです!

int を使う場面

  • 単純な計算・比較・代入だけで済むとき
  • null を扱わない
  • 性能が大事(int のほうが軽い)

Integer を使う場面

  • null の可能性がある(DB値や外部入力など)
  • ListやMapなどのコレクションに入れる
  • オブジェクトとして扱いたい(メソッドを使いたい)

4. ポケモンで例えるなら?

ちょっとムリヤリだけど、こんな感じ!

ポケモンで例えると……


(ピカチュウの状態)
使用イメージ
int モンスターボールに入っていない 鳴いたり、十万ボルトが出せる。
(四則演算( + , - , × , ÷ )、比較( < , > , = ))
Integer モンスターボールに入っている ・持ち運べて、リュックにしまえる。(List,Map)
・ポケモンセンターで回復したり、ボックスに預けたりできる(Integerメソッド)

まとめ

  • int は軽くて速い、だけど使える範囲は限定的!
  • Integer はいろんな場面で必要になるけど、nullに気をつけよう!
  • コレクション・null を扱うときは Integer を選ぼう!

あとがき

ここまで読んでくれて、本当にありがとうございました。

「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。

次の投稿も、よろしくおねがいします。

💬 コメント・フィードバック歓迎!

「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!


20
10
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
20
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?