【发布时间】:2021-05-28 10:10:19
【问题描述】:
这是我指的代码块:
public class ExtraCandies
{
public static void main(String[] args)
{
int[] candies = {2,3,5,1,3};
int temp = 0;
List<Boolean> isGreatestPossibleList = new ArrayList<>();
int[] tempArray = candies;
Arrays.sort(tempArray);
//Here the debugger shows both tempArray and candies array as sorted.
}
}
当我调试这段代码时,我发现 tempArray 得到了很好的排序。 tempArray 变为 {1,2,3,3,5}。但调试器现在还显示糖果数组已排序。我很困惑这怎么可能? sort 方法不应该只对这里的 tempArray 进行排序吗?
【问题讨论】:
-
简短的回答是肯定的。它确实会影响“原始”数组,因为您复制的是数组 reference 而不是数组。
-
我有一个 dup-close 这个问题作为一个问题的副本,该问题解释了将一个数组变量分配给另一个数组变量的实际作用。您所看到的是直接后果。