"Och nu är det dags för ett litet men intressant ämne: konverteringar till String-typen."

"I Java kan alla datatyper konverteras till en sträng."

"Det låter häftigt."

"Det är bättre än coolt. Nästan alla typer kan implicit konverteras till en sträng. Detta är lätt att se när vi lägger till två variabler, där den ena är en sträng och den andra är något annat. Variabeln som inte är sträng kommer att konverteras till en Sträng."

"Kolla in ett par exempel:"

Kommando Vad händer egentligen
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);

Slutsats:  Om vi ​​lägger till en sträng och "någon annan typ", kommer den andra typen att konverteras till en sträng .

"Var uppmärksam på rad fyra i tabellen. Alla operationer utförs från vänster till höger. Det är därför att lägga till 5 + '\u0000' " är detsamma som att lägga till heltal."

"Så, om jag skriver något i stil med String s = 1+2+3+4+5+"m", får jag det s = "15m" ?"

"Ja. Siffrorna kommer först att läggas till, och sedan kommer summan att omvandlas till en sträng."