gpt4 book ai didi

java - 我们可以在Java中将循环变量分配给循环内的值吗?

转载 作者:行者123 更新时间:2023-12-02 08:59:37 25 4
gpt4 key购买 nike

我想为 Java 中 for 循环内的迭代变量分配特定值。

List<Integer> values = Arrays.asList(1,2,4,16,32,64,128);
for (Integer value: values) {
value = value / 2; // local value
}

这个作业可以在 java 中运行吗?

最佳答案

不,您不能,也不建议您这样做

List<Integer> values = Arrays.asList(1,2,4,16,32,64,128);
for (Integer value: values) {
value = value / 2; // local value even its modify it will not affect in collection so you will not get an error.
}

Java 有值类型引用类型。因此,如果您要修改 foreach 循环及其值类型内的任何内容,它将起作用及其本地值,因此它不会修改集合,但如果它的引用类型你会得到一个错误。

在 for-each 循环中,我们无法修改集合,它会抛出 ConcurrentModificationException修改集合只是意味着删除元素或更改存储在集合中的项目的内容。

如果你想修改集合,请使用迭代器

如果你只需要遍历使用foreach

更多请访问here

关于java - 我们可以在Java中将循环变量分配给循环内的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60256784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com