龙空技术网

java中equals和==的区别

he392140685 146

前言:

当前咱们对“javaequals”都比较关切,大家都需要学习一些“javaequals”的相关知识。那么小编在网上汇集了一些有关“javaequals””的相关文章,希望小伙伴们能喜欢,同学们一起来了解一下吧!

在java中equals和==都是比较两个变量是否相等,下面简单介绍一下两者的区别。

1)对于==,比较的是值是否相等

如果作用于基本数据类型的变量,则直接比较两个变量存储的“值”是否相等;  

如果作用于引用类型的变量,则比较的是两个变量所指向的对象的地址。

2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是两者是否是同一个对象。

  如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址,没有重写是与“==”是相同的;

  不过我们通常使用的equals方法都是重写之后的,诸如String、Date等类对equals方法进行了重写,比较的是所指向的对象的内容。

总结,equals和==本质上是相同的,只是由于我们一般使用equals的时候,用到的都是对equals进行过重写的类型的变量,所以通常都会说equals比较的是对象的值。

另外,我们也可以自己对equals方法进行重写,比如比较同一个类的两个对象时,可以重写equals方法,只比较两个对象的某一个或某几个属性相同,就表示两个对象相等。

标签: #javaequals