Vin*_*uri 6 java string nullpointerexception
String s = null;
s = s + "hai";
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
输出:
nullhai
Run Code Online (Sandbox Code Playgroud)
以为这会让我觉得NPE.
什么是背后的基本逻辑
+(连接)时不投掷NPE.对于 ,s = s + "hai";
内部String.valueOf(null)将被调用。该方法将转换null为"null".
字节码:
public static void main(java.lang.String[]) throws java.lang.Exception;
0: aconst_null
//some code
10: invokestatic #27; //Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;// check this line
// some other code
27: return
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |