使用if语句通过使用String = null或String.isEmpty()来检查字符串是否为空时有什么区别吗?
即:
public String name;
if(name == null)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
要么
public String name;
if(name.isEmpty())
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
如果有任何不同(包括性能问题),请告诉我.
Mar*_*ers 39
空字符串是一个长度为零的字符串.null值根本没有字符串.
s == null将返回false.NullPointerException如果字符串为null,则第二个版本将抛出一个.这是一个显示差异的表格:
+-------+-----------+----------------------+
| s | s == null | s.isEmpty() |
+-------+-----------+----------------------+
| null | true | NullPointerException |
| "" | false | true |
| "foo" | false | false |
+-------+-----------+----------------------+
Run Code Online (Sandbox Code Playgroud)