我有一个名为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
中的对象添加到数组列表中吗? (一般来说,因为我需要添加来自不同文件的对象。谢谢
答案 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