java中输入,String 变量,if()的问题

img


为啥在cmd输入abc,输出的是abc,但if不执行,反而else执行输出失败?

使用下面的返回是true ,string是引用类型。 equals 用来比较值是否相等


(str.equals("abc")) 

==是比较两个对象所对应的地址是否相等
equals是比较两个String的表达式是否相等

注意java中的引用,是==比较的是地址值,虽然不够准确。如果按照你的思路,应该用equal()这个方法进行比较,equal这个方法已被字符串类重写过的了

你没理解好空间的问题。
java中进行字符串判断是否相等中
如果是直接赋值的两个字符串那么
他们两个判断是否相等可以用==号判断
其他的要用函数equals判断

哈哈哈,关于Java中的==和equal确实很多新手朋友容易分不清,这是Java面试题常见的!需谨慎!