« Et maintenant, passons à un sujet petit, mais intéressant : les conversions en type String. »

« En Java, n'importe quel type de données peut être converti en String. »

« Ça m'a l'air plutôt cool. »

« C'est plus que cool. Quasiment tous les types peuvent être implicitement convertis en String. C'est facile à voir quand nous ajoutons deux variables, où l'une est une chaîne et l'autre quelque chose de différent. La variable qui n'est pas une chaîne est convertie en type String. »

« Regarde ces quelques exemples : »

Commande Ce qui se passe vraiment
int x = 5;
String text = "X=" + x;
int x = 5;
String s = "X=" + Integer.toString(x);
Cat cat = new Cat("Oscar");
String text = "My cat is " + cat;
Cat cat = new Cat("Oscar");
String text = "My cat is" + cat.toString();
Object o = null;
String text = "Object is " + o;
Object o = null;
String text = "Object is " + "null";
String text = 5 + '\u0000' + "Log";
int i2 = 5 + (int) '\u0000';
String text = Integer.toString(i2) + "Log";
String text = "Object is " + (float) 2 / 3;
float f2 = ((float) 2) / 3;
String text = "Object is " + Float.toString(f2);

Conclusion : Si nous ajoutons une chaîne et 'n'importe quel autre type', le second type sera converti en chaîne (type String).

« Prête attention à la ligne 4 dans le tableau. Les opérations sont exécutées de gauche à droite. C'est pourquoi ajouter 5 + '\u0000'" revient à ajouter des entiers. »

« Alors si j'écris quelque chose comme String s = 1+2+3+4+5+"m", j'obtiendrai s = "15m" ?"

« Exact. Les nombres sont ajoutés d'abord, puis la somme est convertie en chaîne. »