如何在main方法中从另一个类创建List的对象?

时间:2016-10-17 18:47:00

标签: java list object methods main-method

我必须在main方法中创建一个List of List,但我不知道该怎么做。我想要创建一个Object的类的构造函数有一个List作为参数。

如何创建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

    }
}

2 个答案:

答案 0 :(得分:3)

你写了一个构造函数,想要一个List ......所以很惊讶,你必须提供一个。

简单,会编译,但错了:

CashMachine cashMachineObj = new CashMachine(null);

更好:

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

以上简单地创建一个列表并将其传递到CashMashine。

换句话说:有很多方法可以创建列表;你可以选择你喜欢的任何方法。甚至像:

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

其中account1,account2将是Account类的现有对象。

答案 1 :(得分:3)

如果您阅读docs for List,您会看到List实际上是一个界面!

接口就像协议。接口中的方法没有实现。实现接口的类必须提供这些实现。您不能通过调用其构造函数来创建新的List对象,因为使用没有实现的方法创建对象没有意义!

您应该做的是创建一个实现List的类的对象,例如ArrayList

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

现在,您可以将accounts传递给CashMachine的构造函数。