第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

繼承一個(gè)抽象類的多種類型的ArrayList

繼承一個(gè)抽象類的多種類型的ArrayList

明月笑刀無(wú)情 2023-08-16 16:12:54
我創(chuàng)建了一個(gè)account抽象類,它是另外 3 個(gè)不同帳戶類的超類。然后在一個(gè)manageAccount類中我必須創(chuàng)建一個(gè)存儲(chǔ)帳戶類的 ArrayList。在這個(gè)類中,我有一個(gè)方法應(yīng)該找到特定類型的類,例如,它返回EspecialAccount數(shù)組列表中的每個(gè)類。我的 arrayList 是類型Account,我不知道如何添加繼承它的類。是否可以?public class ManageAccounts {    ArrayList<Account> aList = new ArrayList();    public String SearchSpecialAccounts(){        for(int i=0; i<aLista.size(); i++){            //how can I search in the arrayList all of the specialAccounts?        }    }我是JAVA初學(xué)者,請(qǐng)多多指教。
查看完整描述

4 回答

?
拉丁的傳說(shuō)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

過(guò)濾掉就可以了

 ArrayList<Account> accounts; all accounts

List<SpecialAccount> filteredAccounts= sccounts.stream().filter(SpecialAccount.class::isInstance).collect(Collectors.toList());
查看完整回答
反對(duì) 回復(fù) 2023-08-16
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以使用instanceof,例如:

for(int i=0; i<aLista.size(); i++){

? ? ? if(aLista.get(i) instanceof specialAccounts)

? ? ? ? //...

}


查看完整回答
反對(duì) 回復(fù) 2023-08-16
?
滄海一幻覺(jué)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

我的建議是面向?qū)ο缶幊?/em> :

  1. 向類添加一個(gè)抽象方法Accountpublic abstract String getType();

  2. 實(shí)現(xiàn)該方法如下EspecialAccount

public String getType() { return "EspecialAccount"; }
  1. 然后,致電searchSpecialAccounts()

public String searchSpecialAccounts() {

  for(Account acc : aLista){

    if(acc.getType().equals("EspecialAccount")) {

      // acc is of searchType type, great !

    }

  }

}

如果要指定 的默認(rèn)值,getType()可以在抽象類上實(shí)現(xiàn)它,然后僅為特殊帳戶類重寫(xiě)它。


查看完整回答
反對(duì) 回復(fù) 2023-08-16
?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

檢查 searchSpecialAccounts() 的返回類型;


package com;


import java.util.ArrayList;

import java.util.List;


public class ManageAccounts {


    ArrayList<Account> aList = new ArrayList<>();


    List<SpecialAccounts> specialAccountsList = new ArrayList<>();

    public List<SpecialAccounts> searchSpecialAccounts(){

        for(int i=0; i<aList.size(); i++){

            //how can I search in the arrayList all of the specialAccounts?

            if(aList.get(0) instanceof SpecialAccounts) {

                specialAccountsList.add(specialAccountsList.get(i));

            }

        }

        return specialAccountsList;

    }

}


class SpecialAccounts extends Account {


}

class Account {


}


查看完整回答
反對(duì) 回復(fù) 2023-08-16
  • 4 回答
  • 0 關(guān)注
  • 223 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)