Нет, вы не можете сделать последнее.
Первое называется autoboxing и было введено в Java v1.5 для автоматического переноса, примитивы в его оболочке аналогичны.
Преимущества автобокса можно было ясно увидеть при использовании генериков и / или коллекций:
Из статьи: J2SE 5.0 в двух словах
В «Автобокс и автоматическая распаковка примитивных типов» пример:
До (добавлен автобокс)
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(0, new Integer(42));
int total = (list.get(0)).intValue();
После
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(0, 42);
int total = list.get(0);
Как видите, код более понятен.
Помните о последней заметке в документации:
Так когда же следует использовать автобокс и распаковку?Используйте их только тогда, когда существует «несоответствие импеданса» между ссылочными типами и примитивами, например, когда вам нужно поместить числовые значения в коллекцию.Не рекомендуется использовать автобокс и распаковку для научных вычислений или другой чувствительный к производительности числовой код.Integer не является заменой для int;Автобокс и распаковка стирают различия между примитивными типами и ссылочными типами, но они не устраняют это.