前置知识:文章源自懂站帝-http://www.sfdkj.com/12918.html
Object是所有类的父类,他的子类继承他所有的方法文章源自懂站帝-http://www.sfdkj.com/12918.html
==:比较的是两个对象的地址值是否相等,如果相等返回true,否则返回false文章源自懂站帝-http://www.sfdkj.com/12918.html
equals:默认情况下和==是等价的,因为都是继承自Object.equals方法。在Object对象中,他的具体实现关键代码是后面这一段(this==obj)。以String来举例,它内部重写了equals方法,使equals比较的是两个字符串是否相同,而不是使用默认地址值比较。文章源自懂站帝-http://www.sfdkj.com/12918.html
案例:文章源自懂站帝-http://www.sfdkj.com/12918.html
String s1= new String("1");文章源自懂站帝-http://www.sfdkj.com/12918.html
String s2= new String("1");文章源自懂站帝-http://www.sfdkj.com/12918.html
System.out.println(s1==s2); //false文章源自懂站帝-http://www.sfdkj.com/12918.html
System.out.println(s1.equals(s2)); //true文章源自懂站帝-http://www.sfdkj.com/12918.html
总结:==比较的是地址,equals取决于子类是否重写,默认和==等价文章源自懂站帝-http://www.sfdkj.com/12918.html
如果内容对你有帮助,希望您点赞收藏加关注,激励作者创作出更加优质内容!文章源自懂站帝-http://www.sfdkj.com/12918.html