3 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
我想遍歷數(shù)組而不必創(chuàng)建變量。
您需要將循環(huán)更改為此:
for (int i : new int[] {1, 2, 3, 4}) {
? ? // do something (4 iterations)
}

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

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
您當(dāng)然可以創(chuàng)建以下實(shí)用程序:
class ArrayUtils {
static int[] of(int... array) {
return array;
}
}
然后靜態(tài)導(dǎo)入此方法,使用import static ArrayUtils.of. 現(xiàn)在你有一個(gè)相當(dāng)簡短的表達(dá):
for (int i : of(1, 2, 3, 4)) { ... }
然而,我不會在現(xiàn)實(shí)生活中這樣做。相反,我會寫一個(gè) ol' skool
for (int i = 1; i <= 4; i++) { ... }
或者可能
IntStream.rangeClosed(1, 4)
添加回答
舉報(bào)