2016-11-23 91 views
-1

是否有任何簡短的for循環的增強形式,我們可以使用它作爲原語。 我做循環到原語的遺留代碼,這樣原語的增強循環

for(int i=0; i<10; i++){ 
} 

雖然對象,我們ehanced for循環像

for(MyObject m : myObjectList){ 
} 

是否有原語也任何類似的選項?

+5

如果你找到了解決方案(你花了一個解決方案至少)從字面上問秒後利用IntStream.range() ,那爲什麼要問呢? – Thomas

+2

'for(int x:collection)'適用於'int []'數組和列表'列表,儘管如果命中'null'則後者將拋出NPE。 –

+3

你們有沒有試過這個'int [] aa = {1,2,3}; (int i:aa){ \t \t(012) \t \t}' –

回答

0

找到了解決辦法,在Java 8 IntStreams可以取代常規的for循環

IntStream.range(1, 4) 
.forEach(System.out::println); 
+10

這不是一個「增強的for循環」。這是使用完全不同的API。 – Tunaki

+0

@Tunaki您標記的副本似乎__完全不同_問題關於同一主題...也許這適合更好http://stackoverflow.com/questions/266570/modern-for-loop-for-primitive-array但.... –