问题:已知s为一个String对象,现要判断其是否为空,下面的写法是否可行?
if (s == null || s == "")
System.out.println("s的内容为空");
else
System.out.println("s的内容不为空");
答案是:这样写是有问题的。举个反例,如果 s = new String(""); 的话,这里就会判断错误。这里的==只是比较对象的引用,而非其内容,内容比较用equals。
今天在其他的博客里看到这个是作者推荐的一种判断String为空的写法,觉得有点误人子弟了,所以在此做个笔记矫正一下,以免日后踩坑。