All the features cited are merely copying nicety features from C#. Autoboxing is the automatic encapsulation (de-encapsulation) of primitive types into object types (vice-versa) when required. It's always been a pain in Java to have collections of primitives, since the primitives have to be boxed in terms of their related Class Type:
Integer i = new Integer(123);
int j = i.intValue();
Boxing tries to obviate the need for explicit casting, so that you can write:
Integer i = 123;
int j = i;