A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 彭颖 中级黑马   /  2013-2-25 13:56  /  1575 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        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

4 个回复

倒序浏览
{:soso_e127:}因为你上面那个if后面多了一个分号
回复 使用道具 举报
许鑫星 发表于 2013-2-25 14:05
因为你上面那个if后面多了一个分号

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

谢谢....我太大意了
回复 使用道具 举报
  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;*/

回复 使用道具 举报
if多了个分号,细心一点啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马