Java gebruikt copy semantics voor primitieve waarden en (in effect) reference semantics voor objecten
Omdat primitieve waarden geen objecten zijn, kunnen primitieve waarden niet gebruikt worden in methoden die op objecten werken. Om dit toch mogelijk te maken zijn wrapper-klassen en wrapping coercion geïntroduceerd.