黑马程序员技术交流社区

标题: Java基础API的equals方法 [打印本页]

作者: 知行合意    时间: 2015-7-31 23:31
标题: Java基础API的equals方法
/**学生类*/
class Student
{
        /**姓名*/
        private String name;
        /**年龄*/
        private int age;
        /**性别*/
        private char sex;
       
        public Student(){}
        /**带参构造函数*/
        public Student(String name,int age,char sex){
                this.name = name;
                this.age = age;
                this.sex = sex;
        }

        /**   
         *  获取姓名  
         * @return name 姓名   
         */
        public String getName() {
                return name;
        }

        /**   
         *  设置姓名  
         * @param name 姓名   
         */
        public void setName(String name) {
                this.name = name;
        }

        /**   
         *  获取年龄  
         * @return age 年龄   
         */
        public int getAge() {
                return age;
        }

        /**   
         *  设置年龄  
         * @param age 年龄   
         */
        public void setAge(int age) {
                this.age = age;
        }

        /**   
         *  获取性别  
         * @return sex 性别   
         */
        public char getSex() {
                return sex;
        }

        /**   
         *  设置性别  
         * @param sex 性别   
         */
        public void setSex(char sex) {
                this.sex = sex;
        }
       
        /**比较对象属性是否相等*/
        public boolean equals(Object obj )
        {
        //提高效率性
                if (this==obj) {
                        return  true;
                }
        //提高健壮性
                if (!(obj instanceof Student)) {
                        return false;
                }
        //向下转型
                Student  s =  (Student)obj;
                return this.age == s.age && this.name.equals(s.name);
        }

}
/**测试类*/
public class StudentTest {

        public static void main(String[] args) {
               
                int x = 10;
                int y = 10;
                System.out.println(x==y);
                //创建Student对象
                Student s1 = new Student();
                //创建Student对象
                Student s2 = new Student();
                //给age赋值
                s1.setAge(20);
                s2.setAge(20);
                //给name赋值
                s1.setName("张三");
                s2.setName("李四");
                //比较s1和s2是否相等
                boolean flag = s1.equals(s2);
                //打印输出结果
                System.out.println(flag);

        }       

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2