【发布时间】:2020-06-04 18:42:29
【问题描述】:
我有一个名为Group 的课程。在Group 内部有一个包含Customer 类型对象的列表,如下所示:
Group.java:
private List<Customers> customers;
public List<Customer> getCustomers() {
return customers;
}
然后,像上面一样,Customer 类的列表包含 EmailAddress 类型的对象,如下所示:
Customer.java:
private List<EmailAddress> emailAddresses;
public List<EmailAddress> getEmailAddress() {
return emailAddresses;
}
我希望能够将此电子邮件地址列表放入我自己的列表中,然后我可以按照自己的意愿进行操作。所以在我的Main.java 我有:
Main.java:
List<Customer> customerList = group.getCustomers(); //group is the object to get <Customer> List
for (int i=0; i<customerList.size(); i++) {
List<EmailAddress> emails = customerList.get(i).getEmailAddresses();
}
然后,在这个 for 循环之外,我是否会有一个我可以使用的所有客户电子邮件的列表?这是填充列表的正确方法,然后我可以利用该列表并从该循环外部提取数据吗?在循环之外,我希望能够查看列表的不同部分,例如:
emails.get(3);
或
emails.get(7);
由我自己决定。
【问题讨论】:
-
警告:当您返回一个裸列表时,可能会出现问题。如果列表是可变的,那么调用者可能会更改您的列表,这会反映在您的
Group和Customer实例中。这可能不是你想要的。