亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java直接遍歷數組而不是數組變量

Java直接遍歷數組而不是數組變量

慕村225694 2023-06-21 16:02:58
在某些語言中,例如 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)

}

查看完整回答
反對 回復 2023-06-21
?
犯罪嫌疑人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);


查看完整回答
反對 回復 2023-06-21
?
冉冉說

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)


查看完整回答
反對 回復 2023-06-21
  • 3 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號