如何在Java中将列表(初始化为ArrayList)传递给方法?

如何在Java中将列表(初始化为ArrayList)传递给方法?,java,Java,我试图将下面的列表传递给一个方法,但我不确定要使用哪个参数。当我将其作为列表传递时,它显示为空。你能告诉我我做错了什么吗 List<String> list1 = new ArrayList(); list.add("b"); list.add("c"); doStuff(list1); public void doStuff(List<String> list1){ //This outputs 0, even though I added two

我试图将下面的列表传递给一个方法,但我不确定要使用哪个参数。当我将其作为列表传递时,它显示为空。你能告诉我我做错了什么吗

List<String> list1 = new ArrayList();
list.add("b");
list.add("c");

doStuff(list1);


public void doStuff(List<String> list1){
       //This outputs 0, even though I added two values to the list
       System.out.println(list.size());

}
List list1=new ArrayList();
列表。添加(“b”);
列表。添加(“c”);
多斯塔夫(列表1);
公共作废文件(列表1){
//这将输出0,即使我在列表中添加了两个值
System.out.println(list.size());
}

您在
列表中添加了字符串,但您传递的是
列表1
,而不是
列表

publicstaticvoidmain(字符串[]args)
public static void main(String[] args)
    {
        List<String> list1 = new ArrayList();
        list1.add("b");
        list1.add("c");
        doStuff(list1);



    }
    public static void doStuff(List<String> list1){
           //This outputs 0, even though I added two values to the list
           System.out.println(list1.size());

    }
{ List list1=新的ArrayList(); 清单1.添加(“b”); 清单1.添加(“c”); 多斯塔夫(列表1); } 公共静态void doStuff(列表1){ //这将输出0,即使我在列表中添加了两个值 System.out.println(list1.size()); }
如果此代码已编译

public void doStuff(List<String> list1){
       System.out.println(list.size());  // this is NOT the parameter passed in

}
您正在添加到此字段对象,而不是正在传递的
list1

试一试

List list1=new ArrayList();
列表1.添加(“b”);//清单1
列表1.添加(“c”);//清单1
多斯塔夫(列表1);
公共作废文件(列表1){
//应该打印2
System.out.println(list1.size());//list1
}

确保已初始化arraylist一次。然后把你的全班同学放在一起,这样我们就能找出问题所在。@avi看一下我的代码,了解出了什么问题。我意识到我忘了调用函数,但这不是解决办法。检查我的答案后,它现在可以正常工作了。
list.add("b");
list.add("c");
List<String> list1 = new ArrayList();
list1.add("b");   // list1
list1.add("c");   // list1

doStuff(list1);


public void doStuff(List<String> list1){
       // should print 2
       System.out.println(list1.size());  // list1

}