java中“==“和equals()的区别详解

网友投稿 220 2022-11-06


java中“==“和equals()的区别详解

今天我们探讨一下java中"=="与equals()的区别

==:关系运算符

在基本数据类型中比较两个值的内容是否相等

  

   在引用类型型中比较的是两个对象的地址是否相等

equals()是Object类中的方法

1.基本数据类型无法使用equals()方法

2.在引用类型中若是没有重写Object类时,则默认使用Object类的equals方法,则仍然

利用“==”比较两个对象的内存地址,若是重写Object类的equals方法,则调用子类重写后   

的方法可以进行内容或值的比较

例如字符串中,equals()方法重写Object类的equals()方法,从而可以直接比较字符串的

内容。(可以自行观察字符串equals()源代码,此处不细讲)

"=="的具体用法,代码如下:

package Test01;

//"=="的具体实例

public class Demo02 {

public static void main(String[] args) {

int a1=10;

int a2=10;

String str1=new String("aaa"); //在堆中开辟了新的空间,从而内存地址不相等

String str2=new String("aaa");

//比较基本数据类型

System.out.println(a1==a2);

//引用数据类型

System.out.println(str1==str2);

}

}

结果:

equals的用法,代码如下:

1.创建一个对象,调用Object类的equals()方法,比较内存地址

package Test01;

//equals()的具体实现

package Test01;

//Object类的equals()方法

public class Demo02{

public static void main(String[] args) {

Demo03 demo=new Demo03("aaa");

Demo03 demo1=new Demo03("aaa");

System.out.println(demo.equals(demo1));

}

}

class Demo03 {

public String str;

public Demo03(String str){

this.str=str;

}

public String getStr() {

return str;

}

}

结果为:

2.例如字符串中,equals()方法重写Object类的equals()方法,从而可以直接比较字符串的内容。

package Test01;

//equals()的在字符串中的方法重写

public class Demo02{

public static void main(String[] args) {

String str1=new String("aaa");

String str2=new String("aaa");

System.out.println(str1.equals(str2));

}

}

结果为:

总结:

1."=="在基本数据类型中比较值,在引用类型中比较内存地址

2.equals()在基本数据类型中不可使用

引用类型: 要是对象直接比较,则是调用Object类中equals()方法,要是想要比内容,则可以重写Object类的equals()方法。

(String类的equals()方法)

到此这篇关于java中“==“和equals()区别的文章就介绍到这了,更多相关java “==“和equals()区别内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多BNIzjP支持我们!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【skLearn 回归模型】线性回归 ---- Linear Regression
下一篇:Linux之通配符使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~