import java.util.*;public class oneandtwo
{
public static void main(String args[])
{

ArrayList list = new ArrayList();
String a [] = {"a","","b","c","","e"};
for(int i = 0;i<a.length;i++)
list.add(a[i]);

System.out.println(list);
String b ="www";

for(int i =0;i<list.size();i++)
{
if(list.get(i).toString().equals(""))
{

list.get(i)= b;

}
}
        System.out.println(list);



}
}
结果是一直都在包错??
都是STRING  类型,可却不能附值??
高人指点迷津!!

解决方案 »

  1.   

    list.get(i)= b;
    这是什么东东?改成:
    b=(String)list.get(i);
      

  2.   

    list.get(i)= b; 方法不能被附值的。而且list.get(i)返回的是Object,不是String
    改为list.set(i,b);
      

  3.   

    是的。list.get(i)= b;
    这句代码有问题。它是用于获取某个object。赋值用set,楼上的方法。
      

  4.   

    list.set(i,b);
    这样写是错误的我想利用副值语句 ,将在集合中有空值的地方缚值那个地方该成
    list.get(i)。toString()= b;
    还是有错
     不信就测试一下 

      

  5.   

    楼主是不是想找抽啊。toString是获取值,它是方法,不是变量(哪里有鞭子?),哪里能够被赋予值啊。跟你说了用set(index,object),set方法是list接口的方法,而arraylist实现了list接口
    找本书瞅瞅嘛,不知道这个方法可以原谅,但居然用list.get(i)= b;list.get(i)。toString()= b;
    这种来赋值真的不可以原谅。
      

  6.   

    import java.util.*;public class oneandtwo
    {
    public static void main(String args[])
    {

    ArrayList list = new ArrayList();
    String a [] = {"a","","b","c","","e"};
    for(int i = 0;i<a.length;i++)
    list.add(a[i]);

    System.out.println(list);
    String b=new String("www");

    for(int i =0;i<list.size();i++)
    {
    if(list.get(i).toString().equals(""))
    {

    /*list.get(i)=b;*/这里改成下面这句没有错了
                            list.set(i,b);
    }
    }
            System.out.println(list);



    }
    }