首页 > 编程语言 > 详细

java中equals与==的使用

时间:2018-12-21 00:36:50      阅读:172      评论:0      收藏:0      [点我收藏+]

 

   下面用个小例子记录一下

    

package lianxi1;

public class lianxi1 {

    public static void main(String[] args) {

            String s1 = "chaoren";
            String s2 = "chaoren";
            String s3 = new String("chaoren");

            
                System.out.println(s1 == s2);
         
                System.out.println(s1 == s3);
           
                System.out.println(s1.equals(s3));
           
            
            }

            

}

对应的结果是
true
false
true

   “==”比较的是2个数据引用的是否是同一位置,equals比较的是内容是否一样。

    这里有一点需要了解在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,

    但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。

    在以后熟悉做项目时候,你会发现只要是自己的生成的实体类中都会重写equals方法。

         这里的s2和s1引用的同一个位置,所以比较为true。

    s3是新生成的一个对象,只能在equals的情况下才为true。

    

java中equals与==的使用

原文:https://www.cnblogs.com/phililps/p/10153151.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!