&gt;They should have killed the primitive&#x2F;object distinction, turning the primitives into stack-allocated objects and rewritten the collections libraries.<p>That would have been a mistake, because it would have made Java unreasonably inefficient for manipulating large data sets.  You really need both, which is why they included both originally.<p>Autoboxing is a problem in that it allows you to pretend you don&#x27;t have to check for nulls when you really should be checking for nulls.  If I had my druthers I&#x27;d forbid autoboxing on my projects.