gpt4 book ai didi

java 设置 array1 = tempArray

转载 作者:行者123 更新时间:2023-12-01 19:18:01 25 4
gpt4 key购买 nike

我是一名正在学习java的C++程序员。在一个方法中,我想要执行以下操作,获取当前对象内存在的对象数组 [称为 array1],并将其替换为不同的数组 [tempArray](以 C++ 代码形式的示例)

$ ...
$15 private void replaceArray(){
$16 // exchanging values tempArray also has been generated in this omitted section
$17 delete[] array1;
$18 array1 = tempArray;
$19 }
$ ...

我遇到的问题是关键字“delete”在java中并不真正存在。所以我的问题是,如果我只这样做...

$ ...
$15 private void replaceArray(){
$16 // exchanging values tempArray also has been generated in this omitted section
$17 array1 = tempArray;
$18 }
$ ...

原始的array1是否仍然存在,没有指针来访问它,或者将由java的托管代码环境来处理(是的,我知道指针仍然存在,但java虚拟机只管理它们。与程序员无权触摸它们)?

最佳答案

与数组的直接关联类似于将指针复制到新变量。

如果您有另一个 var 到 tempArray 并修改任何值,则您的 array1 也会被修改。

但是如果没有对该数组的引用,JVM 将处理内存。

此外,复制数组的更好方法是对其进行克隆()。

关于java 设置 array1 = tempArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5709071/

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