A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kaifei2018 中级黑马   /  2016-3-24 23:40  /  303 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

* 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);       
        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马