在Java中配置空字符串為什么要用下面的方法呢?我希望NullPointerException被扔出去。String s = null;s = s + "hello";System.out.println(s); // prints "nullhello"
3 回答

楊魅力
TA貢獻1811條經(jīng)驗 獲得超6個贊
當其中一個參數(shù)是字符串時,字符串轉(zhuǎn)換僅適用于二進制+運算符的操作數(shù)。在這種特殊情況下,+的另一個參數(shù)被轉(zhuǎn)換為字符串,而一個新的字符串(即兩個字符串的連接)是+的結(jié)果。字符串轉(zhuǎn)換是在字符串連接+操作符的描述中詳細指定的。
如果只有一個操作數(shù)表達式為String類型,則在另一個操作數(shù)上執(zhí)行字符串轉(zhuǎn)換,以便在運行時生成一個字符串。結(jié)果是對字符串對象(除非表達式是編譯時常量表達式(§15.28)的引用,即兩個操作數(shù)字符串的連接。在新創(chuàng)建的字符串中,左操作數(shù)的字符位于右操作數(shù)的字符之前。如果字符串類型的操作數(shù)為NULL,則使用字符串“NULL”代替該操作數(shù)。

qq_遁去的一_1
TA貢獻1725條經(jīng)驗 獲得超8個贊
String s = null;s = s.toString() + "hello";
String s = "";s = s + "hello"
添加回答
舉報
0/150
提交
取消