java - 使用增强的 for 循环打印数组列表 - 错误 : cannot find symbol and variable already defined in method

标签 java arraylist

我是 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)

此行有两个问题:

  1. 错误表明您正在尝试定义 String 类型的新变量名称 list1,但作用域中已经有这样的变量名称。
  2. 没有任何内容被定义为列表。基本上语法是: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/

相关文章:

java - @Enumerated @ElementCollection 的命名策略

java - 如何在@Transactional模式下强制提交实体

angular - 从 Angular 的 mat-table 中显示的数组列表中删除对象

java - 用于 Fluent API 方法的 Eclipse 插件

java - 在 GWT 中,RPC 调用是同步的还是异步的

java - 链表如何在不使用指针的情况下实现?

java - 如何在不返回 size = 0 的情况下获取 ArrayList 的值?

powershell - 如何将项目动态添加到 PowerShell ArrayList 并使用运行空间池递归处理它们?

Java Junit4 : assertEquals for ArrayList<Double> with single precision expected values

java - 如何检查ArrayList中与String对象关联的值?