String字符串相等
==:比较的是内存地址值
equals:比较的是值,对象的equals()可以被重写
字符串的比较
String a="abc"
String b="abc"
a==b返回true,因为java中字符串的值时不可改变的, 相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象
String a=new String("abc")
String b=new String("abc")
a==b返回false,a和b指向不同的对象
用equals方法比较的是字符串的内容是否相同
String a=new String("abc")
String b=new String("abc")
a.equals(b)
此时返回的是true
在项目中遇到了一个问题,就是对象中的字符串与“1”相比,用==比较时总是false,但用equals时就是true,对象中的变量与“1”地址不同,==比较的是内存地址,所以总是false啊。原来,这些都在项目中都会用到啊