繁体   English   中英

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

[英]Can I iterate over an array defined within a for-loop in Java?

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

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

我能想到的最好的是:

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

这不漂亮。

嗯,你至少可以这样做:

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

由于Array在Java中是“可迭代的”(虽然没有实现Iterable ),你可以迭代一个Array而不是一个ArrayList ,它也可以在线初始化。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM