黑马程序员技术交流社区
标题:
这个问题急需解决
[打印本页]
作者:
唐王潮
时间:
2014-9-30 15:28
标题:
这个问题急需解决
package domain;
public class Person{
private String name;
private int age;
public Person() {
super();
}
public Person(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;
}
/**
* 必须Personl类自己的判断依据,复写Object
*/
public boolean equals(Object obj){
if(this==obj)
return true;
if(!(obj instanceof Person)){
throw new ClassCastException("类型错误");
}
Person p = (Person)obj;
return this.name.equals(p.name)&&this.age==p.age;
}
}
复制代码
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import domain.Person;
public class ArrayListDemo {
public static void main(String[] args) {
// 创建集合对象
List list = new ArrayList();
// 创建person对象
Person p1 = new Person("lisi1",43);
Person p2 = new Person("lisi2",42);
// 把对象添加到集合
list.add(p1);
list.add(p2);
list.add(new Person("lisi3", 23));
list.add(new Person("lisi3", 23));
list.add(new Person("lisi1", 43));
list.add(new Person("lisi3", 23));
list.add(new Person("lisi2", 42));
list.add(new Person("lisi3", 23));
/**
* 取出对象
*/
// for (Iterator it = list.iterator(); it.hasNext();) {
//// 取出的是Object类,所以需要向下转型
// Person p3 = (Person)it.next();
// System.out.println(p3.getName()+"--"+p3.getAge());
// }
System.out.println(list);
singleElement2(list);
System.out.println(list);
}
/**
* 去掉重复元素
*/
public static void singleElement2(List list) {
List temp = new ArrayList();
for (Iterator it = list.iterator(); it.hasNext();) {
Object obj = (Object)it.next();
if(!temp.contains(obj))
temp.add(obj);
}
list.clear();
list.addAll(temp);
}
}
复制代码
为什么打印出来都是哈希码值,不是姓名+年龄?
作者:
嘿~~
时间:
2014-9-30 15:41
在Person类中重写toString()
作者:
唐王潮
时间:
2014-9-30 15:57
嘿~~ 发表于 2014-9-30 15:41
在Person类中重写toString()
感谢!!!
作者:
哈达洋
时间:
2014-9-30 21:13
楼主,你没复写toString()方法啊。Object类中的toString()方法就是打印:getClass().getName() + '@' + Integer.toHexString(hashCode())啊。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2