码迷,mamicode.com
首页 > 其他好文 > 详细

==与equals的区别

时间:2016-11-03 11:35:53      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:static   实现   自身   equal   存储   method   blog   []   比较   

==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方 .

==比较的是引用而equals方法比较的是内容。public boolean equals(Object obj) 这个方法是由Object对象提供的,可以由子类进行重写。默认的实现只有当对象和自身进行比较时才会返回true,这个时候和==是等价的。String, BitSet, Date, 和File都对equals方法进行了重写,对两个String对象 而言,值相等意味着它们包含同样的字符序列。对于基本类型的包装类来说,值相等意味着对应的基本类型的值一样。

public class EqualsTest {
               public static void main(String[] args) {
                               String s1 = “abc”;
                               String s2 = s1;
                               String s3 = new String(”abc”);
                               String s4 = new String(”abc”);
                               String s5 = “abc”;
                               System.out.println(”== comparison : ” + (s1 == s5));
                               System.out.println(”== comparison : ” + (s1 == s2));
                               System.out.println(”Using equals method : ” + s1.equals(s2));
                               System.out.println(”== comparison : ” + s3 == s4);
                               System.out.println(”Using equals method : ” + s3.equals(s4));
               }
}
== comparison : true
== comparison : true
Using equals method : true
false
Using equals method :true

 

==与equals的区别

标签:static   实现   自身   equal   存储   method   blog   []   比较   

原文地址:http://www.cnblogs.com/feifeishi/p/6025860.html

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