将String对象添加到ArrayList

时间:2017-09-27 23:38:08

标签: java arraylist

我正在尝试在我的代码中创建一个搜索数组列表的方法(在我的情况下是customerList,其中包含Customer对象),并且如果在ArrayList中找不到某些内容,它将添加一些新内容...

以下是我如何设置它......

PDOStatement::fetchAll

这是我想要的方法。我试图得到它,以便它将在ArrayList的末尾添加给定名称为“n”的客户,如果在ArrayList中找不到它...

public class CustomerDatabase {

   private ArrayList <Customer> customerList = null;

   public CustomerDatabase() {
       customerList = new ArrayList<Customer>();
  }

我知道整个.add然后是String的东西出了问题,但我不确定我哪里出错了。任何输入都会很棒!

2 个答案:

答案 0 :(得分:3)

您将Customer类与其name属性混淆。您无法检查Custom的列表是否包含String,因为它永远不会。但是,您可以检查列表中的任何客户是否具有您正在寻找的属性。如果您找不到任何内容,则必须使用该字符串构造一个新对象:

public void addCustomer(String name) {
    for (Customer c : customerList) {
        if (c.getName().equals(name)) {
            // duplicate found
            return;
        }
    }
    // no duplicates; add new customer
    customerList.add(new Customer(name));
}

这假设Customer有一个构造函数Customer(String name)和一个方法String getName()。根据需要进行调整。

答案 1 :(得分:0)

Customer是一个类,你创建了一个Customer类类型的数组列表。没有直接的方法来比较name(String)和Customer类对象。

你应该改变你的代码 -

public void addCustomer(String name) {
for (Customer c : customerList) {
    if (!c.getName().equals(name)) {
        Customer c=new Customer();
        c.setName(name);
        customerList.add(c);
    }
}   

}

在客户类

Class Customer{
private String name;
//getter and setter method for name.
}