我已经被这项任务困了好几个星期了。我只是需要一些帮助才能开始。这里是第一个要求:
设计一个名为GenericOrder的通用容器,它充当Products.java中任意数量的对象的集合。设计一种机制,为容器的每个实例提供唯一的标识符。根据需要实现任意多的方法。您必须使用Java泛型特性。
这就是我所拥有的,我不知道我做得对不对。讲师说,这个GenericOrder必须使用集合来容纳多个“产品”。
public class GenericOrder<T> {
private T theProduct;
private static int count = 1;
private final int orderNumber = count++;
private Collection<T> genCollection;
public GenericOrder(T theClass)
{
this.theProduct = theClass;
}
public String getProductID()
{
return theProduct.getClass().getName() + ": " + orderNumber;
}
public T createInstance()
throws IllegalAccessException, InstantiationException {
return this.theProduct;
}
}发布于 2010-12-03 14:46:52
设计一个名为GenericOrder的通用容器,它充当任意数量的对象的集合
更确切地说,更改容器以包含@pst建议的内容。
设计一种机制,为容器的每个实例提供唯一的标识符。
在这里,您几乎是正确的。但你的总体想法是正确的。
public class GenericOrder<T> {
private static int ID = 0;
private String serial;
List<T> products;
public GenericOrder() {
serial = "CONTAINER_" + ID++;
products = new ArrayList<T>();
}
public String getUniqueSerial() {
return serial;
}
public void addProduct(T newProduct) {
products.add(newProduct);
}
public int getNumberOfProducts() {
return products.size();
}
}发布于 2010-12-03 14:37:17
我假设每个“订单”可以有多个“产品”:
public class GenericOrder<T> {
List<T> productsOrdered ...
public GenericOrder(List<T> products) {
...
}
}但我真的不知道泛型应该如何帮助这一点,而且我也不能诚实地从那个上下文中“拼凑”任务,所以,YMMV。
祝你编码愉快。:)
发布于 2010-12-03 14:46:04
我在这里可能完全错了,但我觉得你应该继承Collection。对于唯一标识符,我可能会使用map。
https://stackoverflow.com/questions/4343056
复制相似问题