如代码所示:public class NullDemo {
public void testNull(String str)
{
if(!str.equals("")&&str!=null)
{
System.out.println("不为空");
}
}
}
事实上,上面的例子是有错的,不过很多人很容易犯错,我也一样。我们在判断一个字符串同时不为null也不为“”时,我们应该这样if(str!=null&&!str.equal("")),因为如果先判断!str.equal("")时若str是null的话程序就会报错。所以应该先判断str!=null。我们知道&&是短路的,只要不满足前一个条件,后面的一句就不会执行,所以但str为null时,就不会再执行!str.equal("")这一句了。一个小知识点,容易出错,大家多注意。 |
|