gpt4 book ai didi

java - 为什么我不能将计算机部件添加到我的通用订单中?

转载 作者:行者123 更新时间:2023-11-30 06:47:15 25 4
gpt4 key购买 nike

当我尝试编译时,我重新编译时未选中 -Xlint 以获取详细信息。当我运行时它说:“T extends Product declared in class GenericOrder.

我认为“T”意味着我可以插入阵列中的任何产品。我的数组也没有给出 orderID。我喜欢在继续之前先检查一下,但我不知道如何使用某些计算机部件创建 GenericOrder。

abstract class Product {
protected float price;

// return the price of a particular product
abstract float price();
}

class ComputerPart extends Product {
public ComputerPart(float p) {
price = p;
}

@Override
public float price() {
return price;
}
}

class GenericOrder<T> {
private static int ID = 0;
private String orderID;
List<T> order;

public GenericOrder() {
orderID = "order ID " + ID++;
order = new ArrayList<>();
}

public String getOrderID() {
return orderID;
}

public void addToOrder(T newProduct) {
order.add(newProduct);
}

public List<T> getProducts() {
return order;
}

public static void main(String args[]) {
GenericOrder order = new GenericOrder ();
order.getOrderID();
order.addToOrder(new ComputerPart(5));
order.getProducts();
}
}

最佳答案

在你的 main 中简单地指定泛型的类型:

public static void main(String args[]) {
GenericOrder<ComputerPart> order = new GenericOrder<>();
order.getOrderID();
order.addToOrder(new ComputerPart(5));
order.getProducts();
}

关于java - 为什么我不能将计算机部件添加到我的通用订单中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46189574/

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