我是 java 新手,正在尝试编写一个使用增强的 for 循环打印 ArrayList 的方法。每当我编译时,前循环都会出现以下错误:
error: cannot find symbol
error: variable list2 is already defined in method printLists(ArrayList,ArrayList) for(String list2: list)
public static void printLists(ArrayList <String> list1, ArrayList <String> list2 )
{
System.out.println("list1.txt contains:");
for(String list1: list)
System.out.println(list1+ " ");
System.out.println("list2.txt contains:");
for(String list2: list)
System.out.println(list2+ " ");
}
有人可以向我解释一下这些错误的含义吗?
最佳答案
for-each 循环的使用不正确:
for(String list1: list)
此行有两个问题:
- 错误表明您正在尝试定义
String
类型的新变量名称list1
,但作用域中已经有这样的变量名称。 - 没有任何内容被定义为
列表
。基本上语法是:for(#item : #collection)
您正在寻找类似的东西
for(String item : list1)
了解更多关于 How does the Java 'for each' loop work?
<小时/>打印列表的更好方法是使用String.join
,如here所示。
System.out.println(String.join(" ", list1));
关于java - 使用增强的 for 循环打印数组列表 - 错误 : cannot find symbol and variable already defined in method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350979/