Dans le langage de programmation Java, il ya deux types de données, primitives et les objets. Primitives représentent des données qui ne peuvent généralement pas logiquement être réduites davantage, tels que les entiers, nombres à virgule flottante et des valeurs booléennes. Les objets sont essentiellement tout le reste et sont généralement composées de primitives (ou d'autres objets). Java fournit des classes pour donner une représentation de l'objet de chacun des types primitifs, donc la conversion d'un long à un objet, par exemple, est simple. Conversion d'un objet à un long, cependant, nécessite une étape intermédiaire qui peuvent ne pas être évident.