在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(){返回此;}你能更新代码以反映循环吗?当我尝试时,我得到一堆错误。我不想手动添加这些对象,这只是每个对象包含的示例,我想将对象的值存储到数组列表中