Queue的一些坑
今天上午在做leetcode时一个题用到queue,死活找不到哪里添加了null值,然后就用eclipse排了一下错,最后发现是queue new出来后就不为空。
public class seven {
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue<Integer> queue=new LinkedList<>();
System.out.print(queue==null);
}
}
false
判断queue中是否还有对象时用size>0来判断
public class seven {
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue<Integer> queue=new LinkedList<>();
// System.out.print(queue==null);
queue.offer(5);
queue.offer(4);
queue.offer(3);
while(queue.size()>0) {
System.out.println(queue.poll());
}
}
}
5
4
3
如果用queue!=null来判断就会一直不成立,然后输出null。
public class seven {
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue<Integer> queue=new LinkedList<>();
// System.out.print(queue==null);
queue.offer(5);
queue.offer(4);
queue.offer(3);
while(queue!=null) {
System.out.println(queue.poll());
}
}
}
null
null
null
null
null
null
null