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

在java中将多个对象添加到ArrayList,java,collections,arraylist,Java,Collections,Arraylist,我有一个名为Customer的类,它存储以下对象: private String CustomerFirstName private String CustomerLastName private String CustomerID private String CustomerEmail 现在为了将数据传递给jasper report,我决定创建一个包含这些对象的数组列表,因此: import java.util.ArrayList; import java.util.Colle

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

 private String CustomerFirstName
 private String CustomerLastName
 private String CustomerID
 private String CustomerEmail
现在为了将数据传递给jasper report,我决定创建一个包含这些对象的数组列表,因此:

 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;
  }
}
import java.util.ArrayList;
导入java.util.Collection;
/*这是CustomerDataSource.java文件*/
公共类CustomerDataSource{
公共静态集合loadCustomers()引发异常{
集合客户=新的ArrayList();
客户=新客户(
/*我需要帮助获取CustomerFirstName/CustomerLastName等对象*/
);
customer.addBilling(新账单(/*添加账单信息*/);
getBilling(新账单(/*我需要获取对象的值*/);
顾客:秃顶();
customers.add(客户);
返回客户;
}
}

有人能解释一下如何将
Customer.java
中的对象添加到数组列表中吗?(一般来说,由于我还需要添加来自不同文件的对象。谢谢你,我在你的评论中看到了你的问题,你想创建一个构造函数

在你的服装课上

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中。

根据您的评论,我猜您想使用构造函数

您必须在
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方法访问上述变量。

ArrayList.get(i)
在静态数组中执行与
[]
完全相同的功能。两者之间的唯一区别是
ArrayList.get(i)
仅适用于对象上下文。换句话说,您可以取消对它的引用

首先,您需要将
Customer
字段的隐私更改为public,以使
ArrayList
对象能够访问它。 然后,您可以通过以下简单操作检索类的字段:

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

您已经在使用这一行了,否?:customers.add(customer);如果没有,我不理解您的问题。@stuntmania我的目标是传递类似以下内容的信息
customer=new customer(“SampleFirstName”、“SampleLastName”、“0000”)address@web.com”;
这是错误的
客户=新客户(
这是什么计费东西-在另一个名为
product.java
的类中的Customer类中看不到,在该类中,产品有名称、价格等,我在
Customer.java
中确实有一个构造函数,但我希望在arry列表中动态添加这些对象,而不是像这样。因为它们可能有很多不同客户谢谢,所以我还必须创建一个循环来访问其他字段?不,这些字段需要在同一个循环迭代中逐个检索。等等,对不起,我想我对你的原始帖子关注不够。(不,我不知道为什么。)您希望将对象动态存储在
ArrayList
中,以降低内存使用率。在这种情况下,请调用
Billing
的构造函数,并将其直接传递给
Billing.addBilling()─ i、 e.
costomers.add(新账单(“SampleFirstName”、“SampleLastName”、“0000”),”address@web.com)并检索它:`public Billing getBilling(){返回此;}你能更新代码以反映循环吗?当我尝试时,我得到一堆错误。我不想手动添加这些对象,这只是每个对象包含的示例,我想将对象的值存储到数组列表中