“現在是討論一個小而有趣的話題的時候了:轉換為 String 類型。”
“在 Java 中,任何數據類型都可以轉換為字符串。”
“聽起來很酷。”
“這比酷好。幾乎所有類型都可以隱式轉換為 String。當我們添加兩個變量時很容易看出這一點,其中一個是 String,另一個是其他東西。非 String 變量將轉換為細繩。”
“看看幾個例子:”
| 命令 |
到底發生了什麼 |
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);
|
結論: 如果我們添加一個 String和“任何其他類型”,第二種類型將被轉換為 String。
“注意表格中的第四行。所有操作都是從左到右執行的。這就是為什麼添加5 + '\u0000'與添加整數相同。”
“所以,如果我寫類似的東西 String s = 1+2+3+4+5+"m",我會得到 s = "15m" ?”
“是啊。先把數字相加,然後再把和轉換成字符串。”
GO TO FULL VERSION