为什么if else判断的时候str判断不出来,直接跳过了,求解释

== “运算符” 比较【堆中对象】的引用或内存位置,无论它们是否指向相同的位置。
每当我们使用运算符 new 创建对象时,它都会为该对象创建 一个新的内存 位置。
所以我们使用 == “运算符” 来检查两个对象的内存位置或地址是否相同。
我们可以使用 == “运算符” 进行引用比较(地址比较);
使用 .equals() 方法进行【内容比较】。
简单来说:
== 检查两个对象是否指向【相同的内存位置】,而 .equals() 计算对象中【值的比较】。