s1.equals(s2)与s1==s2有什么不同

==:如果比较的对象是基本数据类型;则比较的是值是否相等
如果比较的是引用数据类型,则比较的是对象的地址值是否相等
equals():用来比较方法两个对象的内容是否相等。
注意:equals()方法不能用于基本数据类型的变量,如果没有对equals()方法进行重写,则比较的是引用类型变量所指向的对象的地址。
String类型有两种内存方式:
(1) String str = “string”; //是将变量值存放到常量池
(2) String str2 = new String(“string”);//是在堆内存中
(化简) “==”指的是两个对象的引用相同,而“equals()”指的是两个对象的值相等

猜你喜欢

转载自blog.csdn.net/mingxu_W/article/details/81871885