Chaque type primitif possède une classe du même nom (à l'exception de int et char) qui fournit des méthodes spécifiques.
Type primitif Class wrapper ----------------- --------------- boolean Boolean byte Bytes short Short int Integer long Long float Float double Double char Character
Les classes Byte, Short, Integer, Long, Float et Double héritent de la classe Number.
Chaque classe possède un constructeur prenant en argument le type primitif. Il existe aussi un constructeur avec une String en parametre. Il est possible aussi d'utiliser la méthode valueOf.
Exemple :
Integer n1 = new Integer(10); Integer n2 = new Integer("11"); Integer n3 = Integer.valueOf(12); Integer n4 = Integer.valueOf("13");
Les classes wrapper permettent aussi de convertir des String en nombre :
// La methode static parseInt renvoit une exception NumberFormatException si la chaine n'est pas au bon format. int n1 = Integer.parseInt("10");
Les classes wrapper permettentent les conversion de type :
Integer n1 = new Integer(10); Float f1 = new Float(3.14); float f2 = n1.floatValue(); int n2 = f1.intValue(); // renvoie l'entier le plus proche
Depuis Java 5, il est possible décrire ceci (c'est le compilateur qui ajoute le code nécessaire)
Integer n = 10; // auto boxing int i = n; // un boxing // Ceci est plus facile que d'ecrire : int i = n.intValue();