代码之家  ›  专栏  ›  技术社区  ›  sdasdadas

我可以迭代Java中for循环中定义的数组吗?

  •  2
  • sdasdadas  · 技术社区  · 11 年前

    Java是否提供了一种不用在单独的变量中声明数组就可以执行以下操作的方法?

    for (String s : {"HEY", "THERE"}) {
        // ...
    }
    

    我能想到的最好的办法是:

    for (String s : new ArrayList<String>() {{ add("HEY"); add("THERE"); }}) {
        // ...
    }
    

    这并不漂亮。

    2 回复  |  直到 11 年前
        1
  •  5
  •   Community Lee    7 年前

    好吧,你至少可以这样做:

    for (String s : new String[]{"HEY", "THERE"}) {
        // ...
    }
    

    自从 Array s在Java中是“可迭代的”(尽管 not implementing Iterable ),您可以在 大堆 而不是 ArrayList ,也可以进行联机初始化。

        2
  •  5
  •   Aurand    11 年前
    for (String s : Arrays.asList("HEY", "THERE")) {
        // ...
    }
    

    不知道你为什么要这么做,但你已经做到了。