arv*_*unk 8 java string null if-statement object
在我的项目中,如果其他条件检查空变量,我必须使用
String stringValue = null;
String valueOf = String.valueOf(stringValue);
Run Code Online (Sandbox Code Playgroud)
但是当我检查条件时
if (valueOf == null) {
System.out.println("in if");
} else {
System.out.println("in else");
}
Run Code Online (Sandbox Code Playgroud)
然后输出是"在其他地方",为什么会发生这种情况?
Roh*_*ain 14
这里的源代码的String.valueOf: -
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
Run Code Online (Sandbox Code Playgroud)
如您所见,对于null值,它返回"null"字符串.
所以,
String stringValue = null;
String valueOf = String.valueOf(stringValue);
Run Code Online (Sandbox Code Playgroud)
给"null"字符串valueOf.
同样,如果你这样做: -
System.out.println(null + "Rohit");
Run Code Online (Sandbox Code Playgroud)
你会得到: -
"nullRohit"
Run Code Online (Sandbox Code Playgroud)
编辑
另一个例子:
Integer nulInteger = null;
String valueOf = String.valueOf(nulInteger) // "null"
Run Code Online (Sandbox Code Playgroud)
但在这种情况下.
Integer integer = 10;
String valueOf = String.valueOf(integer) // "10"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6904 次 |
| 最近记录: |