java String中==与equals()的区别

"=="操作符的作用:

1、用于基本数据类型的比较

2、判断引用是否指向堆内存的同一块地址。

equals所在位置:

在Object类当中,而Object是所有类的父类,包含在jdk里面,但并不适合绝大多数场景,通常需要重写。equals()方法在object中是判断两个对象还否相等,即对象堆地址是否相同。但在string中,重写了equals()方法,使equals()用来判断两个对象的内容是否相等。

例子一:对象不同,内容相同,"=="返回false,equals返回true`

String s1 = new String("java");
String s2 = new String("java");

System.out.println(s1==s2);            //false
System.out.println(s1.equals(s2));    //true

例子二:同一对象,"=="和equals结果相同

String s1 = new String("java");
String s2 = s1;

System.out.println(s1==s2);            //true
System.out.println(s1.equals(s2));    //true
发布了12 篇原创文章 · 获赞 5 · 访问量 9964

猜你喜欢

转载自blog.csdn.net/weixin_44532540/article/details/89395228