我有几个要在其上执行相同操作的对象,但是当前未将它们分组到一个集合或数组中。 Java是否提供一种隐式生成可以迭代的内容的方法?
我在想像这样的语法
Object o1, o2, o3;
for (Object o : {o1, o2, o3}) {
doSomething();
}
我目前正在使用
Object o1, o2, o3;
for (Object o : Arrays.asList(o1, o2, o3)) {
doSomething();
}
这显然已经很整齐了,但是我认为可能存在一种我还没有发现的内置方法。
关于创建Array,List或类似数组的答案:正如您从我的示例中已经看到的那样,我的问题在于是否可以进一步缩短它。因此,与语法和语言功能有关的学术问题更多于与编程技术有关的问题。
最佳答案
Java8引入了Stream API,我们可以使用它:
Stream.of(o1, o2, o3).forEach(() -> doSomething());