2015-07-11 73 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

相关问题