JAVA 1.8 equals和"=="代码分析 ,和一点问题
这是我第一次在CSDN发帖,如有不正之处请见谅, 可以把你自己的看法发在评论中,我们一起进步。。。
以下是我写的代码的截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200724104225372.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2ODA0MDE1,size_16,color_FFFFFF,t_70)
通过注释可以看到代码运行结果,但中间有一行代码
System.out.println(w1.equals(w2)); //无显示
运行这行代码
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200724104639722.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2ODA0MDE1,size_16,color_FFFFFF,t_70)
我检查自己的代码,确定没写错,但不知道问题时什么。
注释掉这行:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200724104814667.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2ODA0MDE1,size_16,color_FFFFFF,t_70)
显示一切正常。
提问:
为什么会出现这个情况呢,声明String型null值的地址是固定的吗,空值的地址是固定的吗,为什么空值不是固定地址?
为什么
String s = new String(null);
不可以这样声明?
感谢大家的耐心阅读!!我们共同进步!
t.js/