在某些語言中,例如 Python,可以直接遍歷數組:for i in [1, 2, 3, 4]: print(i)我知道Java可以通過 迭代變量for (type var : var2),那么是否可以跳過變量并直接迭代數組?例如:for (int i : [1, 2, 3, 4]) { System.out.println(i);}
3 回答

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
我想遍歷數組而不必創建變量。
您需要將循環更改為此:
for (int i : new int[] {1, 2, 3, 4}) {
? ? // do something (4 iterations)
}

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
如果您確實想避免使用括號語法,您也可以這樣做:
for (int i : Arrays.asList(1,2,3,4)) { System.out.println(i); }
這將有效地執行與創建 an 相同的操作Array
,但您正在迭代固定的 size List
。
注意: 這個答案主要只是為了知識,在實踐中你不應該這樣做并且更喜歡使用new int[]{}
而不是導入Arrays
庫并將值裝箱為List
不必要的。
您可能會看到使用的更傳統的方式asList()
類似于:
Arrays.asList(1,2,3,4).forEach(System.out::println);

冉冉說
TA貢獻1877條經驗 獲得超1個贊
您當然可以創建以下實用程序:
class ArrayUtils {
static int[] of(int... array) {
return array;
}
}
然后靜態導入此方法,使用import static ArrayUtils.of. 現在你有一個相當簡短的表達:
for (int i : of(1, 2, 3, 4)) { ... }
然而,我不會在現實生活中這樣做。相反,我會寫一個 ol' skool
for (int i = 1; i <= 4; i++) { ... }
或者可能
IntStream.rangeClosed(1, 4)
添加回答
舉報
0/150
提交
取消