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

sda*_*das 2 java arrays for-loop

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

for (String s : {"HEY", "THERE"}) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我能想到的最好的是:

for (String s : new ArrayList<String>() {{ add("HEY"); add("THERE"); }}) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这不漂亮.

zw3*_*324 5

嗯,你至少可以这样做:

for (String s : new String[]{"HEY", "THERE"}) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

由于Arrays在Java中是"可迭代的"(虽然没有实现Iterable),你可以迭代Array而不是a ArrayList,也可以在线初始化.


Aur*_*and 5

for (String s : Arrays.asList("HEY", "THERE")) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

不知道你为什么要这样做,但是你有它.