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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.heima.bean;
public class Student {
        private String name;
        private int age;
        public Student() {                                          
                super();
        }
        public Student(String name, int age) {         
                super();
                this.name = name;
                this.age = age;
        }
        public String getName() {                               
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
        /*@Override
        public String toString() {
               
                return "我的姓名是:" + name + ",我的年龄是:"+ age;
        }*/
       
        @Override
        public String toString() {
                return "Student [name=" + name + ", age=" + age + "]";
        }

        @Override
        //重写equals方法
        public boolean equals(Object obj) {
                Student  s = (Student)obj;
                return this.name.equals(s.name) &&this.age == s.age;
        }
}

就到最后这三行代码怎么也转不过来,求大神帮忙

评分

参与人数 1黑马币 +2 收起 理由
woshijingke + 2 淡定

查看全部评分

3 个回复

倒序浏览
你也刚学基础班?? 我也刚开始学10来天,也是到这弄不懂啊. 同求大神指导啊
回复 使用道具 举报
重写的equals方法是用来比较对象信息是否相等。
Student  s = (Student)obj;因为equals方法传进来的对象是obj类型的。又需要对比学生信息,所以需要把它强制转化为student类型的对象。
this.name.equals(s.name) &&this.age == s.age;是用来判断当前传入的学生姓名,年龄是否和强制转化后的student的s信息是否相等。而this.name.equals方法是用未重写的方法。用来比较传入数据是不是相等。
重写的方法返回的是boolean,而&&的结果也是boolean类型的。
回复 使用道具 举报
daniel031699 发表于 2016-5-25 00:15
重写的equals方法是用来比较对象信息是否相等。
Student  s = (Student)obj;因为equals方法传进来的对象是 ...

说的很清楚,多谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马