Java at first used the expedient of having both primitive and object versions of integers, floating point numbers, etc. The C# programming language (and later versions of Java, starting with Java 1.5) adopted the less elegant solution of using boxing and unboxing, a variant of which had been used earlier in some Lisp implementations.
Java la început a folosit un expedient având ambele primitive și versiuni de obiect ca integrii, numere format virgula mobilă, etc. Iar limbajul de programare C# (și verisiuni mai recente de java, începând cu Java 1.5) au adoptat soluția mai puțin elegantă de a folosi boxing și unboxing, o variantă folosită mai devreme în implementările Lisp.