Dogs a = new Dogs("Samy", 5, "Terrier");
Cats b = new Cats("Lucas", 1, "Siames");
Set<Protectora> animales = new HashSet<Protectora>();
animales.add(a);
animales.add(b);
如何仅查找Cats
?
答案 0 :(得分:3)
使用instanceof
关键字:
Set<Cat> cats = new HashSet<Cat>();
for (Object o : animales) {
if (o instanceof Cat) cats.add(o);
}
希望你的Cat
和Dog
类扩展一些父类,比如Animal
,在这种情况下你会写:
Set<Animal> animals = new HashSet<Animal>();
animals.add(dog);
animals.add(cat);
//add more animals here
Set<Cat> cats = new HashSet<Cat>();
for (Animal a : animals) {
if (a instanceof Cat) cats.add((Cat) o);
}