2 回答
TA贡献1797条经验 获得超6个赞
下面一行是错误的。
ellicenses.add(new ElvisLicense("TestCompany","VendorA",1234,"1234-A","Solutions Server gold","1234-dtbk-87654-nlof",10, true , true));
由于许可证需要客户反对一个参数。相反,您应该首先创建客户对象。
ellicenses.add(new ElvisLicense(new Customer("TestCompany","VendorA",1234,"1234-A"),"Solutions Server gold","1234-dtbk-87654-nlof",10, true , true));
重复使用它customer list以避免创建公司。
for(Customer customer : customers){
// here you need some way to offer other parameters except customer parameter.
License license = new new ElvisLicense(customer,"Solutions Server gold","1234-dtbk-87654-nlof",10, true , true);
ellicenses.add(license);
}
TA贡献1794条经验 获得超7个赞
您需要做的是在创建对象时使用您已经创建的 Customer 对象之一ElvisLicense。为了更容易地按姓名找到该客户,我建议您将它们存储在地图中,而不是将名称作为键的列表。
Map<String, Customer> customerMap = new HashMap<>();
Customer customer = new Customer("TestCompany","John Doe",1234567890,"John@testcompany.com"));
customerMap.put(customer.getcCompany(), customer);
所以在创建许可证时你要查找客户
List <ElvisLicense> ellicenses = new ArrayList <> (10);
Customer customer = customerMap.get("TestCompany");
if (customer != null) {
ElvisLicense license = new ElvisLicense(customer,"VendorA",1234,"1234-A","Solutions Server gold","1234-dtbk-87654-nlof",10, true , true));
ellicenses.add(license);
} else {
//If the customer isn't found you need some kind of error handling, better than below :)
System.out.println("Can't create a license, no customer found");
}
添加回答
举报