gpt4 book ai didi

Java:从计算的角度来看,如果将一个数组设置为对另一个数组的引用会怎样?

转载 作者:行者123 更新时间:2023-12-03 19:50:30 24 4
gpt4 key购买 nike

int [] arr1 = new int[]{4,6,3,2,7,8};
int [] arr2 = new int[]{6,7,5,3,2,9};
arr2 = arr1;
System.out.println(arr2[3]); // 2 ( =arr1[3] )

这段代码的输出是2。

  • 那么这里究竟发生了什么?

  • 是否 arr1 和 arr2 位于不同的内存位置,但 arr2 指向 arr1 的值?

  • arr2 的原始值发生了什么变化?

  • 它们是否仍可访问或已被垃圾收集删除?

  • 如果它们是可访问的,程序员是否必须释放第二个数组的内存?

最佳答案

arr1arr2 都是引用

最初它们指的是不同的数组。

当您编写 arr2 = arr1; 时,程序中没有任何内容指向第二个数组,因此它确实符合垃圾回收条件。

关于Java:从计算的角度来看,如果将一个数组设置为对另一个数组的引用会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45941584/

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