具有泛型类型参数的方法可以传递泛型类型参数

  • 本文关键字:泛型类型参数 方法 java
  • 更新时间 :
  • 英文 :


我的客户

中有getter和setter的实例
private Collection<CustomersDetails> customerDetails = new ArrayList<CustomersDetails>();
    public Collection<CustomersDetails> getCustomerDetails() {
        return customerDetails;
    }
    public void setCustomerDetails(Collection<CustomersDetails> customerDetails) {
        this.customerDetails = customerDetails;
    }

但当我试图通过

CustomersDetails customersDetails = new CustomersDetails();
customersDetails.set....
customersDetails.set....

Customer customer = new Customer();
customer.setCustomerDetails(customersDetails);

显示错误

The method setCustomerDetails(Collection<CustomersDetails>) in the type Customer is not applicable for the arguments (CustomersDetails) 

为什么是这样,当我的集合是CustomersDetails类型??

您的Customer类有一个方法

public void setCustomerDetails(Collection<CustomersDetails> customerDetails) {
    this.customerDetails = customerDetails;
}

您正在尝试使用类型为CustomersDetails的参数调用它。CustomersDetails不是Collection<CustomersDetails>。在List或其他Collection中包装元素。

之类的
customer.setCustomerDetails(Arrays.asList(customersDetails));

相关内容

最新更新