2015-07-11 107 views
0

我想了解數組列表,並已閱讀和在線搜索幾個例子。我無法理解這個數組列表返回的對象是什麼?我知道數組列表的對象類型爲user。在返回它,我遇到以下錯誤 Type mismatch: cannot convert from Boolean to User什麼對象返回以下arraylist

private ArrayList<User> users; // list of users 

public User createUser(String name, String address) { 
     user = new ArrayList<User>(); 

     users.add(new User(name, address)); 

     return null; <-- not sure what to return here 
    } 

而且User是另一個類。

public class User { 

    private String name; // user name 
    private String address; 

    /* 
    * constructor method 
    */ 

    public User(String name, String address) { 
     // initialize the instance variables 
     this.name = name; 
     this.address = address; 
    } 
+0

什麼是'客戶端'? – sstan

+0

那麼,你的方法期望你應該返回一個'User'實例。但是你有***用戶名單***。你應該回來什麼? – sstan

+0

以下是我期望返回的內容 '此方法創建一個User對象,將其添加到用戶ArrayList並返回該對象。「#: – Maddy

回答

2

有人在此

public User createUser(String name, String address) 

你的方法簽名,你必須返回User類型或它的一個子類的對象。

我想這是你想要什麼來實現

private ArrayList<User> users; // list of users 

public User createUser(String name, String address) { 

    User u = new User(name, address); 
    users = new ArrayList<User>(); 

    users.add(u); 

    return u; 
} 

但是請注意,通過執行

users = new ArrayList<User>(); 

的方法中,你會每次重置名單:你會總是有一個元素的列表。初始化您的列表一次,而不是

private ArrayList<User> users= new ArrayList<User>(); // list of users 

public User createUser(String name, String address) { 
    User u = new User(name, address); 
    users.add(u); 
    return u; 
} 
+0

因此,我想添加10個用戶。我怎樣才能做到這一點?如果我在構造函數中初始化'users = new ArrayList ();'。它每次都會重置列表嗎? – Maddy

+1

當然你可以在構造函數中初始化它,只要它只執行一次 –

+0

我想我現在就明白了。謝謝你的快速反應。 – Maddy