如何在另一个类中使用Queue.java
当我执行上述操作时,确实收到警告“队列是原始类型。对泛型类型队列的引用应参数化”如何在另一个类中使用Queue.java,java,queue,Java,Queue,当我执行上述操作时,确实收到警告“队列是原始类型。对泛型类型队列的引用应参数化” 我是Java初学者。感谢您的帮助。您的队列是一个参数化类。Java警告您,扩展它的类(Inventory,在您的情况下)可能也应该参数化: public class Inventory extends Queue{} 公共类资源清册扩展队列{ // ... } 在重用类之前,您需要问问自己,还是这样做?一旦理解了这一点,您就会知道库存是否需要扩展队列,或者是否有一个类型为Queue的字段 为了回答这个问题,您需要
我是Java初学者。感谢您的帮助。您的
队列是一个参数化类。Java警告您,扩展它的类(Inventory
,在您的情况下)可能也应该参数化:
public class Inventory extends Queue{}
公共类资源清册扩展队列{
// ...
}
在重用类之前,您需要问问自己,还是这样做?一旦理解了这一点,您就会知道库存是否需要扩展队列,或者是否有一个类型为Queue的字段
为了回答这个问题,您需要问自己一些问题:
是否要对资源清册使用所有队列方法,包括front()
、enqueue()
、和dequeue()
您是否希望以后能够重用库存
以支持非队列
(可能是堆栈
?)的数据-has-a关系通常更容易重构
是否希望能够将库存
传递给接受队列
作为参数的方法
如果库存是一个队列(我认为这不是您想要的),您确实需要扩展它:
public class Inventory <T> extends Queue<T> {
// ...
}
但是,如果更可能的情况是,并且库存有一个队列,则需要在库存中分配一个字段,其类型为Queue
:
public class Inventory extends Queue<Item>{}
公共类目录{
专用队列;
}
或者,如果只有一种类型的项目:
public class Inventory <T> {
private Queue<T> queue;
}
公共类目录{
专用队列;
}
首先,你需要问问自己,还是这样?如果理解了这一点,您就会知道库存是否需要扩展队列,或者是否有一个字段的类型为Queue要回答这个问题,我想以FIFO方式将项目从库存中排队,因此我猜库存本身应该是一个队列,换句话说,队列库存包含项目列表这不是一个好答案,虽然它解决了警告问题,但它并没有教会OP(承认自己是新手程序员)对象设计的基本原理。请注意,问题不是如何解决警告,而是如何重用队列。谢谢,这是对我的问题的一个非常深刻的回答
public class Inventory extends Queue<Item>{}
public class Inventory <T> {
private Queue<T> queue;
}
public class Inventory {
private Queue<Item> queue;
}