今までなんとなくでやっていたのですが、変数の指定の際にラッパークラスのプリミティブ型の違いがやっとわかったのでメモとして残しておきます。
理由1: ラッパークラスを使うとプログラムのパフォーマンスが悪くなるらしい
理由2: ラッパークラスはnullを許容してしまうため、行動を読む人に「nullが入ってしまう可能性がある」と誤解させてしまう可能性がある
理由3: ラッパークラスはオブジェクトの1つであるため、値同士を比較演算子で以下のように比較しようとした場合、falseになってしまう。

またラッパークラスはメリットとしてメソッドが使える点が挙げられるが、それらはスタティックメソッドであるため、変数宣言にラッパークラスを用いなくてもメソッドを使いたいときだけそれらを呼び出せば良いので、基本は変数宣言もプリミティブ型で問題ない。