黑马程序员技术交流社区
标题:
基础交流
[打印本页]
作者:
kaifei2018
时间:
2016-3-24 23:40
标题:
基础交流
* equals方法:比较两个对象是否相等,下面是Object中的equals方法,比较的是地址值,没有什么意义
* public boolean equals(Object obj) {
return (this == obj);//是调用的对象与传入的对象的比较,比较的是地址值
}
思考:equals方法比较两个对象的地址值是没有意义的,需要重写,因为在开发中通常比较的是对象中的属性值,
我们认为相同属性认为是同一个对象,这要需要在Student类中需要重写equals方法
* @param args
*/
public static void main(String[] args) {
//观察重写equals方法前后的结果
Student s1 = new Student("张三",23);
Student s2 = new Student("张三",23);
boolean b = s1.equals(s2); //比较两个对象是否相等
//当Student类没有重写equals方式时,下面两个输出都是false
System.out.println(s1 == s2);
System.out.println(b);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2