标题基本上说明了一切。我通常会在的同时进行测试string == null
,因此我并不真正担心null安全测试。我应该使用哪个?
String s = /* whatever */;
...
if (s == null || "".equals(s))
{
// handle some edge case here
}
要么
if (s == null || s.isEmpty())
{
// handle some edge case here
}
关于这一点-它isEmpty()
甚至做得比其他任何事情return this.equals("");
或return this.length() == 0;
?
您可以创建一个辅助方法Util.String.hasValue(String s),该方法检查null,空值和空格以处理所有情况。
—
Cloudanger 2010年
@ColinD可能不是问题-J2SE 5.0在一段时间之前完成了其服务寿命。
—
Tom Hawtin-大头钉
要考虑的另一件事是“” .equals()将Object作为参数,因此,如果参数类型从String更改为其他类型(无论好坏),都不会出现编译器错误。
—
保罗·杰克逊
isEmpty()
仅Java 6+。