簡體   English   中英

如何在main方法中從另一個類創建List對象?

[英]How to create an object of List from another class in main method?

我必須在main方法中創建一個列表對象,但是我不知道該怎么做。 我要創建一個對象的類的構造函數有一個列表作為參數。

如何創建CashMachine類的對象?

順便說一下,我不會編寫所有的類,因為它很長。

這是我的課程:

    public class CashMachine {
        private State state;
        List<Account> accountList;
        private CashCard cashCard;
        private Account selectedAccount;

        public CashMachine(List<Account> accountList){
            this.accountList = accountList;
        }
    }

public class TestMain {
    public static void main(String[] args) throws Exception {
        CashMachine cashMachineObj = new CashMachine(); //it is false

    }
}

您編寫了一個構造函數,想要一個List…令人驚訝的是,您必須提供一個。

很簡單,會編譯,但是是錯誤的:

CashMachine cashMachineObj = new CashMachine(null);

更好:

CashMachine cashMachineObj = new CashMachine(new ArrayList<>());

上面只是創建一個列表,並將其傳遞到CashMashine中。

換句話說:創建列表的方法有很多。 您可以選擇任何喜歡的方法。 甚至像:

CashMachine cashMachineObj = new CashMachine(Arrays.asList(account1, account2));

其中account1,account2將是Account類的現有對象。

如果您閱讀List文檔 ,您將看到List實際上是一個接口!

接口就像協議。 接口中的方法沒有實現。 實現該接口的類必須提供這些實現。 您不能僅通過調用其構造函數來創建新的List對象,因為使用沒有實現的方法來創建對象是沒有意義的!

您應該做的是創建一個實現List的類的對象,例如ArrayList

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

現在,您可以將accounts傳遞給CashMachine的構造CashMachine

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM