我发现了一个关于 PriorityQueue 的类似问题,该问题的错误是它没有正确初始化。我可能有同样的问题,但我不知道如何正确初始化它!
到目前为止我只是这样做:
BlockingQueue myQueue = null;
但是当我尝试向列表中添加某些内容时,就会抛出异常。
如何正确初始化 BlockingQueue?
最佳答案
BlockingQueue<E>
是一个接口(interface)。您需要选择该接口(interface)的特定实现,例如 ArrayBlockingQueue<E>
,并调用其 constructors 之一像这样:
BlockingQueue<E> myQueue = new ArrayBlockingQueue<E>(20);
如果您不确定 JDK 中存在哪些不同类型的阻塞队列,请查看 "All Known Implementing Classes" .
关于Java:尝试将对象添加到 BlockingQueue 时出现 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7518840/