用集合进行Java泛型编程
这项任务我已经做了好几个星期了。我只是需要一些帮助来开始。 这是第一个要求: 设计一个名为GenericOrder的通用容器,该容器充当Products.java中任意数量对象的集合。设计一种机制,为容器的每个实例提供一个唯一标识符。根据需要实施尽可能多的方法。您必须使用Java泛型特性 这就是我所拥有的,我不知道我是否做对了。讲师说,这个通用订单必须使用集合来保存多个“产品”用集合进行Java泛型编程,java,Java,这项任务我已经做了好几个星期了。我只是需要一些帮助来开始。 这是第一个要求: 设计一个名为GenericOrder的通用容器,该容器充当Products.java中任意数量对象的集合。设计一种机制,为容器的每个实例提供一个唯一标识符。根据需要实施尽可能多的方法。您必须使用Java泛型特性 这就是我所拥有的,我不知道我是否做对了。讲师说,这个通用订单必须使用集合来保存多个“产品” 公共类GenericOrder{ 产品的私有化; 私有静态整数计数=1; 私有最终整数orderNumber=coun
公共类GenericOrder{
产品的私有化;
私有静态整数计数=1;
私有最终整数orderNumber=count++;
私人募捐;
公共通用订单(T类)
{
this.theProduct=类;
}
公共字符串getProductID()
{
返回product.getClass().getName()+“:”+订单号;
}
公共创建实例()
抛出IllegalAccessException,实例化Exception{
退回此产品;
}
}
我想每个“订单”可以有多个“产品”:
公共类GenericOrder{
列出排序的产品。。。
公共通用订单(列出产品){
...
}
}
但我真的不知道泛型应该如何帮助这一点,我不能诚实地从上下文中“拼凑”作业,所以,YMMV
快乐编码:) 我可能完全错了,但我觉得你应该继承收藏品。对于唯一标识符,我可能会使用地图 设计一个名为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();
}
}
公共类GenericOrder{
私有静态int ID=0;
私有字符串序列;
列出产品清单;
公共通用订单(){
serial=“CONTAINER_”+ID++;
products=新的ArrayList();
}
公共字符串getUniqueSerial(){
返回序列号;
}
公共无效添加产品(T新产品){
产品。添加(新产品);
}
public int getNumberOfProducts(){
返回产品。大小();
}
}
那么你的问题是什么?你是在问你的课程是否满足作业要求吗?在我看来,你在以某种奇怪的方式混合产品和容器。。你需要什么“产品”和所有以某种方式干预它的方法?我认为他不必继承集合。他描述说,它必须作为一个集合。唯一标识符是指标识容器。要使用地图
,您仍然需要知道钥匙。谢谢您的回复。我会用你的代码和指导老师再核对一遍。这是一门远程学习课程,所以我很难向老师提问
public class GenericOrder<T> {
List<T> productsOrdered ...
public GenericOrder(List<T> products) {
...
}
}
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();
}
}