Java String equals()方法,
equias()方法用于将字符串与指定对象作比较。
String类重写了equias方法用与比较两个字符串是否相等。
而"=="是相等关系运算符,
在基本数据类型中:比较的是内容;
再引用类型数据中;比较的是对象所在的地址;
所以"=="与equals()方法
String a="hello"; //直接创建
String b="hello"; //直接创建
String c= a;
String d=new String("hello");//String 对象创建
String e=new String("hello");//String 对象创建
a==a;//true 相同的引用地址
a==b;//true a,b 都在公共池中 ,引用第支相同
a==c;//true 相同的引用地址
a==d;//false 引用地址不同
a==e;//false 堆中不同的引用地址
a.equals(b);//true 内容相同
a.equals(d);//true 内容相同
a.equals(e);//true 内容相同

这篇博客探讨了Java中String类的equals()方法和'=='运算符的区别。在Java中,equals()用于比较字符串内容,而'=='比较对象的引用。对于直接创建的字符串,如`a`、`b`和`c`,'=='比较返回true,因为它们引用相同的常量池中的对象。然而,当使用new关键字创建字符串对象,如`d`和`e`,'=='会返回false,因为它们在堆中是不同的实例。尽管如此,equals()方法始终基于内容进行比较,因此对于内容相同的字符串,它总是返回true。
228

被折叠的 条评论
为什么被折叠?



