由@RequstParam 传值 探究 字符串比较的问题

事情是这样的,今天在往后端传值的时候,想做一个字符串的比较,发现没有得到预想的结果。

于是打断点看了一下当前 的值是什么

由@RequstParam 传值 探究 字符串比较的问题

之前写的是

inputPassword == pwd ,然后断点处显示的也是 inputPassword:"1" ,pwd:"1" ,并且两个地方也都是String类型的。然后结果是显示 二者不相等。

那么同样是字符串的比较,equals 和 == 有什么区别?

对于 ==,它比较的是该内容的字符串是否指向同一个对象。由于字符串内容是不变的,相同的字符串只存放一个对象,因此 a=“123”,b=“123”,此时a ,b指向同一个对象,使用 == 返回 true。

对于 a.equals(b),它比较的是字符串里的内容,因此即便你指向的是两个不同的对象,只要字符串内容相同,就可以返回true。