我正在阅读API http://docs.oracle.com/javase/6/docs/api/java/util/PriorityQueue.html。我还有点失落。
哪种方法可以初始化?
PriorityQueue(Caller caller_pq);
或
static PriorityQueue<Caller> caller_pq;
caller_pq = new PriorityQueue<Caller>();
答案 0 :(得分:0)
如果caller_pq
是您希望保留PriorityQueue
的变量,那么第二个变量 -
static PriorityQueue<Caller> caller_pq;
caller_pq = new PriorityQueue<Caller>();
- 是对的。
您的第一个选项PriorityQueue(Caller caller_pq)
很难说清楚您的意思。如果您打算创建一个PriorityQueue
包含Caller
类型的元素(这是我认为您的意图),那么不,那将无效。
如果Caller
实施Collection
或扩展PriorityQueue
,则会PriorityQueue
包含caller_pq
中的元素(只要您在new
之前})。