==与equals的区别

1W次浏览推荐于2019.02.28

举个简单的例子,说明==与equals的区别

    操作方法

    • 01

      1、String str1=new String("apple"); String str2=new String("apple"); 现在有两个Boolean型表达式: ①str1==str2; ②str1.equals(str2);

      • 02

        2、上述例子的正确值是 ①false ②true

        • 03

          3、结果解析: ==比较的是两个对象的地址 equals比较的是两个对象的内容

          • 04

            4 如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法的实现代码如下: boolean equals(Object  o){ return  this==o; } 这说明,如果一个类没有自己定义equals方法,它默认的equals方法(从Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果,如果比较的是两个独立的对象则总返回false。如果你编写的类希望能够比较该类创建的两个实例对象的内容是否相同,那么你必须覆盖equals方法,由你自己写代码来决定在什么情况即可认为两个对象的内容是相同的。

            • End

            特别提示

            注意,我们平常使用的字符串的比较都是使用equals进行的

            免责声明:

            本页搜狗指南内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与搜狗公司无关。本页搜狗指南内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。

            1点赞无帮助无帮助
            还没有个性签名哟