【问题标题】:How to convert this for loop into an enhanced loop如何将此 for 循环转换为增强循环
【发布时间】:2015-01-22 22:52:21
【问题描述】:

我有一个存储名称列表的 ArrayList “名称”。对于这个 ArrayList,我需要使用专门增强的 for 循环来打印所有名称。我怎样才能使这个for循环完全成为一个增强循环?

ArrayList<String> names = new ArrayList<String>();
    names.add(0, "Name1");
    names.add(1, "Name2");
    names.add(2, "Name3");

    for (int i = 0; i < (names.size()); i++)
    {
        System.out.println(names.get(i));
    }

【问题讨论】:

  • 为什么不先向我们展示您解决此问题的尝试?编辑 - 或不。我猜奥古斯特汤匙给了你答案。您知道您不尝试或不尝试并且不向我们展示您的尝试只是在欺骗自己。正是在这些尝试中,您真正学习了 Java。
  • 我试过“for (int i : names)”,但我知道我无法比较两者。
  • 我创建了 for 循环,但无法深入到增强的 for 循环。
  • 您还没有向我们展示您已经尝试过。但是,嘿,这是你的教育。
  • 我正在尝试自学 - 它不是为了学校或任何东西。但是,是的,你说得有道理。我的尝试是普通的 for 循环,但我刚刚学会了如何使用数组,所以无法将其转换。

标签: java arrays for-loop arraylist foreach


【解决方案1】:

Java for-loop tutorial

for (String name : names) {
    System.out.println(name);
}

您可以在任何数组类型或实现Iterable 的类上使用此语法。

您不能使用for (int i : names),因为冒号左侧的变量类型必须可以从Iterable 的泛型类型中赋值。 (或数组组件类型,如果您使用的是数组)。

ArrayList&lt;String&gt; 实现了Iterable&lt;String&gt;,因此冒号左边的变量必须可以从String 赋值,而int 不是。

【讨论】:

    【解决方案2】:

    试试

    for(String name:names){
     System.out.println(name);
    }
    

    【讨论】:

      【解决方案3】:

      An enhanced loop has this structure

      for (String element : array) {
          System.out.println("Element: " + element);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 2021-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多