« 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 texte = "X=" + x;
int x = 5;
String s = "X=" + Integer.toString(x);
Chat chat = new Chat("Oscar");
String texte = "Mon chat s'appelle " + chat;
Chat chat = new Chat("Oscar");
String texte = "Mon chat s'appelle " + chat.toString();
Object o = null;
String texte = "L'objet est " + o;
Object o = null;
String texte = "L'objet est " + "null";
String texte = 5 + '\u0000' + "Journal";
int i2 = 5 + (int) '\u0000';
String texte = Integer.toString(i2) + "Journal";
String texte = "L'objet est " + (float) 2 / 3;
float f2 = ((float) 2) / 3;
String texte = "L'objet est " + 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. »