NPE*_*NPE 57

这两个函数来自两个不同的接口,它们PriorityQueue实现:

  • add()来自Collection.
  • offer()来自Queue.

对于容量受限的队列,不同之处在于,如果无法添加元素,则add()始终返回true并抛出异常,而如果无法添加元素,则offer()允许返回异常false.

但是,这不适用于PriorityQueue; 这两个函数是同义词.

  • @user7098526 一些队列实现可能具有固定容量,例如ArrayBlockingQueue。用例可能是某个缓冲区,如果它已经满了,它会简单地拒绝添加请求 - 有点 OOO 的保护。 (4认同)