在java中将多个对象添加到ArrayList

时间:2014-03-20 01:40:06

标签: java collections arraylist

我有一个名为Customer的类,它存储以下对象:

 private String CustomerFirstName
 private String CustomerLastName
 private String CustomerID
 private String CustomerEmail

现在为了将数据传递给jasper报告,我决定创建一个包含这些对象的数组列表,所以:

 import java.util.ArrayList;
 import java.util.Collection;

 /* This is CustomerDataSource.java file */ 
 public class CustomerDataSource {
 public static Collection<Customer> loadCustomers() throws Exception {
 Collection<Customer> customers = new ArrayList<Customer>();

 Customer customer = new customer ( 
 /* I need help getting the objects CustomerFirstName / CustomerLastName and etc */
 );

 customer.addBilling(new Billing ( /* Adding billing info */ ));
 customer.getBilling(new Billing ( /* I need to get the object's values*/));
 customer.balOwing();
 customers.add (customer);
 return customers;
  }
}

有人可以解释如何将Customer.java中的对象添加到数组列表中吗? (一般来说,因为我需要添加来自不同文件的对象。谢谢

3 个答案:

答案 0 :(得分:0)

因此,当您在评论中看到问题时,您需要创建一个构造函数。

在您的Costumer课程中

public Costumer(String firstName, String lastName, String ID, String email) {

  this.CostumerFirstName = firstName;
  this.CostumerLastName = lastName;
  this.CostumerID = ID;
  this.CostumerEmail = email;

}

那么你就可以创建一个新的客户:

Customer customer = new Customer ("SampleFirstName","SampleLastName","0000","address@web.com");

您甚至可以通过在构造函数中添加客户端来自动将客户添加到ArrayList。

答案 1 :(得分:0)

从您的评论中,我猜您想使用构造函数?

您必须在Customer.java上添加构造函数。

public Customer(String firstName, String lastName, String id, String email){
  this.CustomerFirstName = firstName;
  this.CustomerLastName = lastName;
  this.CustomerID = id;
  this.CustomerEmail = email;
}

您可能希望使用getter / setter方法来访问上述变量。

答案 2 :(得分:0)

ArrayList<E>.get(i)在静态数组中执行与[]几乎完全相同的功能。两者之间的唯一区别是ArrayList<E>.get(i)只是简单地适应了对象上下文。换句话说,你可以取消引用它。

首先,您需要将Customer个字段的隐私权更改为公开,以便ArrayList<Customers>个对象可以访问该字段。 然后,您就可以找回您的课程了。简单的字段:

    customers.get(index).FirstName //or whatever other field