关于==和equals的区别

2019/7/23 9:01:05 人评论 次浏览 分类:学习教程

(1)对于字符串变量来说,使用“”和“equals()”方法比较字符串时,其比较方法不同。
”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
(2)对于非字符串变量来说,""和"equals"方法的作用是相同的都是用来比较其
对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
注意:
(1)如果是基本类型比较,那么只能用
来比较,不能用equals
(2)对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,
是比较地址的,而equals是比较内容的。
总结的来说:
  1)对于
,比较的是值是否相等
如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
    如果作用于引用类型的变量,则比较的是所指向的对象的地址
  2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是是否是同一个对象
    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
    诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

上一篇:POJ-3126 Prime Path

下一篇:mysql级联删除表

相关资讯

    暂无相关的资讯...

共有访客发表了评论 网友评论

验证码: 看不清楚?
    -->