De primitive talltypene i java har alle en "wrapper"-klasse. Disse klassene pakker inn den primitive talltypen, og gjør det mulig å representere den som et objekt. Dette gjøres ofte av kompilatoren og kalles da "autoboxing".
I java finnes det en Number-klasse som subklasses av de forskjellige wrapper-klassene som brukes. Number-klassen er abstrakt og et number-objekt vil alltid være en instans av en av subklassene.
Bildet er hentet fra oracle sinde sider.
Grunner til å bruke en wrapper-klasse framfor en primitiv type:
- Dersom vi ønsker å sende en klasse som et argument
- Bruke konstanter klassen holder, som f.eks. MIN_VALUE/MAX_VALUE for den primitive typen
- Bruke klassemetoder for å konvertere mellom de forskjellige primitive typene
Under følger en nærmere beskrivelse av de forskjellige tallklassene, verdiområdet deres og nøyaktighet ved beregninger med de.
Byte
Short
Integer
Klassen pakker inn et int som er 32-bit og kan ha verdier mellom -2,147,483,648 og 2,147,483,647. Et int vil veldig ofte kunne ta alle nødvendige verdier et program trenger.
Integer-klassen har konstantene MIN/MAX_VALUE som er lik -231 / 231-1 .
Når man utfører divisjon med integers vil det utføres heltallsdivisjon. Dette kan lett løses ved å deklarere ett av int'ene som en double (se under).
Long
Float
Double