int型とInteger型は違う

今までずっとintはintegerの略だと思ってたけど、javaではちがうらしい。 もしかしたら常識なのかもしれないけど、びっくりしたので調べてみました。

ひとことで言うと int型はプリミティブ型でInteger型はobject型

  • Integer型はint型のラッパーになってて、int型と同じように整数のデータをもってる。

  • Int型とは違ってobject型なので、データだけでなくいろいろ便利なメソッドももってる。

  • Int型ではnullは使えないがinteger型ではnullもつかえる。

javaにはオートボクシングって機能があって、自動的にキャストしてくれるのでintとIntegerの違いはあんま気にしなくても大丈夫だけど、根っこはちがうので意識はしとくべき。