2016-03-02 52 views
0

我有幾個對象,我想要執行相同的操作,但是他們目前沒有分組到一個集合或數組中。 java是否提供了一種隱式生成我可以迭代的東西的方法?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(); 
} 

這顯然是相當整齊了,但我想可能有一個內置的方式,我只是沒有找到。

關於創建數組,列表或類似的答案:從我的示例中可以看出,我已經這樣做了,我的問題是針對這個問題是否可以縮短。與編程技術相比,關於語法和語言能力的大學問題更多。

+0

沒有java有這些類型的整潔東西它相對老的語言 – Bhargav

回答

3

Java8介紹Stream API,與我們能夠做到:

Stream.of(o1, o2, o3).forEach(() -> doSomething()); 
3

你接近你的第一個例子,你只需要告訴它的{}是:

for (Object o : new Object[] {o1, o2, o3}) { 
    doSomething(); 
} 

Live Example

1

使用陣列

Object[] arr = new Object[]{o1, o2, o3}; 
for (Object o : arr) { 
    doSomething(); 
} 
相關問題