黑马程序员技术交流社区

标题: 取值越界问题 [打印本页]

作者: 彭颖    时间: 2013-2-25 13:56
标题: 取值越界问题
        Integer number =null;                //越界问题
                if(queueNumber.size()>0);{
                         number = queueNumber.remove(0);//返回的对象,如果取到NULL,空指针异常
        }
            
        return number;


----------------------------------------------------------------------------------
if(queueNumber.size()>0){
                        return (Integer)queueNumber.remove(0);
                }else{
                        return null;*/


----------------------------------------------------------------------------------
上下两种防止越界的方式不一样么?为什么我执行出来结果不一样,上面的还是会有报错Exception in thread "pool-3-thread-1" Exception in thread "pool-2-thread-1" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

作者: 许鑫星    时间: 2013-2-25 14:05
{:soso_e127:}因为你上面那个if后面多了一个分号
作者: 彭颖    时间: 2013-2-25 14:07
许鑫星 发表于 2013-2-25 14:05
因为你上面那个if后面多了一个分号

....我检查了好久.....

谢谢....我太大意了
作者: 罗海云    时间: 2013-2-25 14:08
  Integer number =null;                //越界问题
                if(queueNumber.size()>0);{//这儿多加了个分号.就导致了这个判断毫无实际意义. 然后下面的全都按顺序执行了.所以报错了.
                         number = queueNumber.remove(0);//返回的对象,如果取到NULL,空指针异常
        }
            
        return number;


----------------------------------------------------------------------------------
if(queueNumber.size()>0){
                        return (Integer)queueNumber.remove(0);
                }else{
                        return null;*/


作者: 张宁    时间: 2013-2-25 14:13
if多了个分号,细心一点啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2