来自Javadoc:
队列实现通常不允许插入null元素,尽管某些实现(如LinkedList)不禁止插入null.即使在允许它的实现中,也不应将null插入到Queue中,因为null也被poll方法用作特殊返回值,以指示队列不包含任何元素.
应该如何解释?我们可以将null值插入到LinkedList但不能将其插入到Queue尽管实现Queue者中LinkedList.
这意味着如果你向a插入一个null LinkedList,如果你调用poll并获取null,你不能告诉它Queue是空的还是null元素位于Queue.
因此,您可以插入null到a LinkedList,但如果您打算将其LinkedList用作a ,则应避免这样做Queue.
如果你看一下执行情况poll():
public E poll() {
if (size==0)
return null;
return removeFirst(); // if the first element is null, `removeFirst()`
// returns null, and you might mistakenly assume
// the Queue is empty
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4669 次 |
| 最近记录: |