用Stringbuffer在for循环里拼数据 数据到一半 for不执行了 什么情况

解决方案 »

  1.   

    for(int i=0;i<list.size();i++){
      sb.append(list.get(i).tostring);
    }
      

  2.   

    list里面有null值,抛空指针异常了?打印出来看看。for(int i=0;i<list.size();i++){
      System.out.println(list.get(i));
      sb.append(list.get(i).tostring);
    }
      

  3.   

    应该是for循环问题,你看下代码里有没有其他变量也是list的,你可以debug下!
      

  4.   

    问题很怪,可以换个编译器试试,如果用的是dos窗口会有很多奇怪问题(用Myeclipse吧)
      

  5.   

    这代码有问题。
    list是ArrayList还是LinkedList?
    如果是LinkedList的话,get(i)是非常慢的。
    访问List最好使用Iterator
      

  6.   

    list.get(i).toString() 
      

  7.   

    StringBuffer只是对字符串进行串接,并不会报错的关键是看你的List集合对不对啦~~
      

  8.   

    建议把list.size()赋给一个变量
      

  9.   

    你是先打印,然后append 的啊,肯定有一部分(最后的i)没有打印的
      

  10.   

    for(int i=0;i<list.size();i++){
    System.out.println(list.get(i).toString());
    sb.append(list.get(i).tostring);
    }加上红色的试试,应该是你的list里的内容有问题
      

  11.   

    list是不是被多个线程处理。看看有没有另一个线程删这个list里的数据
      

  12.   

    LZ 你代码呢?
    你只给个
    for(int i=0;i<list.size();i++){
      sb.append(list.get(i).tostring);
    }
     谁知道你 集合中的内容    同#9 用迭代
      

  13.   

    java虚拟机 这明显不按套路出牌嘛怎么循环一半没有了呢。。是不是你的list.get(i)是空值啊。。
    有没有报NullPointerException