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

时间:2013-04-18 00:35:58

标签: java arrays for-loop

Java是否提供了一种方法来执行以下操作,而无需在单独的变量中声明数组?

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

我能想到的最好的是:

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

这不漂亮。

2 个答案:

答案 0 :(得分:5)

嗯,你至少可以这样做:

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

由于Array在Java中是“可迭代的”(尽管not implementing Iterable),您可以迭代Array而不是ArrayList,这也可能是 - {行初始化。

答案 1 :(得分:5)

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

不确定你为什么要这样做,但是你有它。