ArrayList<String> alist = new ArrayList<String>(); ...           String[] que3 = alist.toArray(new String[0]);
           alist = [, a, , b, , c, , g, , a, , d, , e, , g];          for(int i=0; i<=alist.size()-1;i++)
   if (alist.get(i)==""){
   alist.remove(i);
   System.out.println(  "@@@@");
   };试了一下为什么这样不能删除list中含有"" 的元素那?    ArrayList<String> list2 = new ArrayList<String>();
   list2.add("");
   alist.removeAll(list2);
这个没问题

解决方案 »

  1.   

     alist = [, a, , b, , c, , g, , a, , d, , e, , g];
    list可以这样赋值吗?
      

  2.   

    alist.get(i)==""
    String之间的比较用equals方法。alist.get(i).equals("")
      

  3.   

    在对List循环的过程不允许对list进行操作。你可以用迭代器遍历。。
      

  4.   

    String 由list动态执行的,两个字符串在程序运行时被分别构造,有两个不同的地址所以不能用"=="应该用equals 谢谢 改equals 进行内容比较可以删掉空格
      

  5.   

    谢谢 是应该使用迭代器 为了并发时候内容不被错误修改
                  Iterator<String> it = alist1.iterator();

    while (it.hasNext()) {
    String str = (String)it.next();
    if(str.equals("")){
       it.remove();
       }