« J'aimerais t'expliquer comment fusionner des chaînes. Le processus de fusion ou de jointure de chaînes est souvent désigné par le terme 'concaténation'. Les amoureux de chats bilingues le retiendront facilement : con-CAT-é-nation. Je plaisante. »

« Les règles pour la fusion de chaînes sont simples. Si nous 'ajoutons' (avec l'opérateur +) une chaîne et autre chose, alors cet 'autre chose' est implicitement converti en une chaîne via la méthode toString(). »

« C'est à moi que tu parlais, là ? »

« Bon, je vais t'expliquer de façon plus simple. Si nous ajoutons une chaîne, un nombre et un chat, le nombre et le chat sont transformés en chaînes. Voici quelques exemples : »

Code Code équivalent
Chat chat = new Chat();
String texte = "Le chat s'appelle " + chat;
Chat chat = new Chat();
String s = chat.toString();
String texte = "Le chat s'appelle " + s;
int a = 5;
String texte = "a égale " + a;
int a = 5;
String s = Integer.toString(a);
String texte = "a égale " + s;
int a = 5;
String texte = a + "a égale ";
int a = 5;
String s = Integer.toString(a);
String text = s + "a égale ";
Chat chat = new Chat();
int a = 5;
String texte = "Le chat s'appelle " + cat + a;
Chat chat = new Chat();
String s1 = chat.toString();
String s2 = Integer.toString(a);
String texte = "Le chat s'appelle " + s1 + s2;
Chat chat = new Chat();
int a = 5;
String texte = a + "Le chat s'appelle " + chat + a;
Chat chat = new Chat();
String s1 = chat.toString();
String s2 = Integer.toString(a);
String s3 = Integer.toString(a);
String texte = s3 + "Le chat s'appelle " + s1 + s2;
Chat chat = new Chat();
int a = 5;
String texte = chat + a + "Le chat s'appelle " + chat + a;
Le programme ne compile pas !
Les opérations d'addition sont exécutées de gauche à droite, donc on obtient :
String texte = (((chat + a) + "Le chat s'appelle ") + chat) + a;
Si tu ajoutes un chat à un nombre, il n'y a plus de conversion de chaîne automatique.
// Mais tu peux faire ceci :
Chat chat = new Chat();
int a = 5;
String texte = chat + (a + "Le chat s'appelle ") + chat + a;

// Ce qui est équivalent à ceci :
Chat chat = new Chat();
int a = 5;
String texte = ((chat + (a + "Le chat s'appelle ")) + chat)+a;
Chat chat = new Chat();
String s1 = chat.toString();
String s2 = chat.toString();
String s3 = Integer.toString(a);
String s4 = Integer.toString(a);
String texte = s1 + s3 + "Le chat s'appelle " + s2 + s4;

« Il est temps pour nous d'effectuer quelques missions de Diego. »