黑马程序员技术交流社区

标题: 如何实现调用的? [打印本页]

作者: 乔九    时间: 2013-2-22 20:25
标题: 如何实现调用的?
package com.itheima;
import java.util.*;
class Person
{
        private int age;
        private String name;
        Person(String name,int age)
        {
                this.age=age;
                this.name=name;
        }
        public boolean equals(Object obj)怎么实现equalss调用的????????
        {
                if(!(obj instanceof Person ))
                        return false;
                Person p=(Person)obj;
                return this.name.equals(p.name)&&this.age==p.age;
        }
        public int GetAge()
        {
                return age;
        }
        public String name()
        {
                return name;
        }
       
}
public class ArrayListTest2 {
        public static void main(String[] args)
        {
                ArrayList al=new ArrayList();
                al.add(new Person("lisi",22));
                al.add(new Person("lisi",34));
                al.add(new Person("lisi",23));
                al.add(new Person("lisi",22));
                al=singleElement(al);
                Iterator it=al.iterator();
                while(it.hasNext())
                {
                        Person p=(Person)it.next();
                        System.out.println(p.GetAge()+p.name());
                }
        }
        public static ArrayList singleElement(ArrayList al)
        {
                ArrayList newAl=new ArrayList();
                Iterator it=al.iterator();
                while(it.hasNext())
                {
                        Object obj=it.next();
                        if(!newAl.contains(obj))
                                        newAl.add(obj);
                               
                }
                return newAl;
        }

}
作者: 李挺    时间: 2013-2-22 20:30
contains()调用equals()方法去判断俩个对象是否相等
作者: 谢波    时间: 2013-2-22 20:34
if(!newAl.contains(obj))
应该是这个 contains 方法调用的equals 方法




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