码迷,mamicode.com
首页 > 编程语言 > 详细

java中equals与==的使用

时间:2018-12-21 00:55:22      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:结果   pre   public   使用   内容   out   main   lse   自身   

 

   下面用个小例子记录一下

    

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与==的使用

标签:结果   pre   public   使用   内容   out   main   lse   自身   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!