[英]List part of arraylist
我有抽象类A。类B从A继承,而类C从B继承。
我创建函数以列出列表中的所有对象。 我的ArrayList是从类B和C创建的。
我想创建一个仅列出对象具有年龄的函数(来自C类的对象)。 怎么样?
最简单的方法是简单地检查列表中每个对象的类型:
for (Object item : yourListWithBAndCs) {
if (item instanceof C) {
C itemAsC = (C) item;
// do something
} else { ... }
}
从Java8开始,您可以使用流和过滤器(对@Andrew Tobilko表示敬意)来获得此建议:
list.stream().filter(i -> i instanceof C).collect(Collectors.toList());
以上将为您创建一个新列表; 仅包含作为C实例的那些对象。
class C extends B
{
int age;
ArrayList listAge;
C()
{
listAge = new ArrayList();
}
public void addAge()
{
listAge.add(age);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.