如何在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
}