今までずっとintはintegerの略だと思ってたけど、javaではちがうらしい。 もしかしたら常識なのかもしれないけど、びっくりしたので調べてみました。
ひとことで言うと int型はプリミティブ型でInteger型はobject型
Integer型はint型のラッパーになってて、int型と同じように整数のデータをもってる。
Int型とは違ってobject型なので、データだけでなくいろいろ便利なメソッドももってる。
Int型ではnullは使えないがinteger型ではnullもつかえる。
javaにはオートボクシングって機能があって、自動的にキャストしてくれるのでintとIntegerの違いはあんま気にしなくても大丈夫だけど、根っこはちがうので意識はしとくべき。