List <Person> pers = new ArrayList<Person>();
pers.add(new Women("something1"));
pers.add(new Women("something2"));
pers.add(new Men("something1"));
pers.add(new Men("something2"));
System.out.println(pers); // prints everything
女性和男性课程延伸人。将数据存储在列表中后,如何仅打印女性或仅打印男性?另外我如何访问女性和男性的属性?
2个列表工作正常,但我只需要使用一个列表时遇到麻烦。
答案 0 :(得分:4)
使用instanceof
关键字。
for(Person person : pers){
if(person instanceof Women){
System.out.println("I am a woman");
int height = person.getHeight();
}
else if(person instanceof Men){
System.out.println("I am a Man");
int weight = person.getWeight();
}
}
一旦你知道这个人是什么类型的对象,你可以调用该对象上的任何公共变量/ getter / setter。
答案 1 :(得分:0)
Object.getClass()将返回对象的类型