Public Static Void Main() {
LinkedList q = new LinkedList();
q.enqueue(Object);
System.out.println(q.deque().getString()); //it will print the string of the popped object
}
如果队列变为空,它将会发出异常,因为q.deque()指向null,null上的任何方法都会给出异常。处理空引用
Object k = q.dequeue();
if(k != null)
System.out.println(k.getString());
有没有更好的办法做到这一点,而不是在主程序中检查空指针:
我们可以将其更改为实现这一目标?
如果您使用的是Object.toString而不是wh您定义的atever'getString'方法,如果元素为null,则'System.out.println(q.deque())'会输出字符串'“null”。除此之外,你基本上已经获得了最好的解决方案。 – 2013-05-04 00:05:54
你或许可以检查'的isEmpty()'或东西的'叫q'之前'双端队列()'。但是你必须检查某个地方。 – dlev 2013-05-04 00:06:54
@LouisWasserman你的意思是'Objects.toString'?小的差异,但它可以混淆 – nullptr 2013-05-04 00:07:19