gpt4 book ai didi

java - 设置列表

转载 作者:行者123 更新时间:2023-12-01 19:25:16 25 4
gpt4 key购买 nike

尝试做类似的事情:

public interface Order {      
public List<? extends OrderItem> getItems();
public void setItems(List<? extends OrderItem> items);
}

public interface OrderItem {
// stuff
}

public class OrderItemImp implements OrderItem {
// stuff for class impl
}

public class OrderImp implements Order {
public List<OrderItemImp> getItems() {
return items;
}
public void setItems(List<OrderItemImp> items) {
this.items = items;

}
}

编译器提示 setItems 方法。我怎样才能做到这一点?谢谢。

最佳答案

在您的 Order 接口(interface)定义中,这些方法看起来像一对 get/set 方法,即逻辑上的属性。在这种情况下,它们需要具有相同的类型。您需要通过命名类型参数将它们连接在一起:

public interface Order<T extends OrderItem> {      
public List<T> getItems();
public void setItems(List<T> items);
}

不完全确定这在 Java 中是否是正确的语法,但基本上这两种方法最终都必须引用完全相同的类型。

关于java - 设置列表<?扩展接口(interface)1>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com