gpt4 book ai didi

java - java 中的foreach 构造创建的是硬拷贝还是软拷贝?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:39 26 4
gpt4 key购买 nike

假设我有以下一段 java 代码

ArrayList<Double> myList = new Double[100];
for (Double x : myList)
x = randomDouble();

这实际上是修改了 myList 还是只是修改了虚拟变量?

我意识到我应该试试这个代码段,但我认为这是我应该能够在这个网站上搜索或搜索的东西,到目前为止,一些查询没有找到任何有用的东西。

最佳答案

它不会修改 myList。它通过调用 myList.iterator() 来工作,然后(重复)hasNext()next() ,它们都没有改变 myList

另外,Java 没有 C++ 风格的引用。这意味着您无需担心(即使不查看 API)x 是一个可以修改 myList 的引用。

最后,这是无效的语法。应该是:

ArrayList<Double> myList = new ArrayList<Double>(); 
/* or new ArrayList<Double>(100), but that's only an optimization
(initial capacity), not the size. */

关于java - java 中的foreach 构造创建的是硬拷贝还是软拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002032/

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