[英]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.