繁体   English   中英

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

[英]Methods with generic type parameter can pass generic type parameters

我的客户类别中有使用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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM