À chacun des types primitifs est associée une classe enveloppante : Boolean, Byte, Short, Integer, Long, Character, Float et Double, toutes membres du paquet java.lang.
La conversion d'un type primitif vers son type enveloppant se fait à l'aide d'un constructeur :
Integer i = new Integer(3);
Inversement, des méthodes booleanValue, byteValue, shortValue, intValue, longValue, floatValue et doubleValue permettent d'en extraire la valeur primitive d'un objet d'une classe enveloppante :
int n = i.intValue(); // n = 3
D'autre part, une chaîne de caractères (provenant par exemple d'une lecture sur l'entrée standard) peut être convertie en entier ou en flottant de la façon suivante :
int m = Integer.parseInt("12"); // m = 12 double x = Double.parseDouble("12.3"); // x = 12.3
Ces fonctions déclenchent l'exception NumberFormatException si l'argument n'a pas la forme requise pour être la notation d'un nombre.
Les entiers représentés par le type int forment l'intervalle
Integer.MIN_VALUE
, Integer.MAX_VALUE
208#208.
Integer.MAX_VALUE
, est de
l'ordre de 209#209. Les types Float et Double
définissent des constantes utiles :
Double.MIN_VALUE
, la plus petite valeur 210#210 de type
double ;
Double.MAX_VALUE
, la plus grande valeur 210#210 de type
double ;
Double.POSITIVE_INFINITY
, Double.NEGATIVE_INFINITY
et Double.NaN
.
La classe Character contient la définition de fonctions utiles :
L'API Java offre aussi la classe java.math.BigInteger représentant les entiers de taille arbitraire. Par exemple :
BigInteger a = new BigInteger("5575357514510401565"); BigInteger b = new BigInteger("411342354568907"); BigInteger c = a.multiply(b); // c = a*b