【发布时间】:2017-02-21 14:00:19
【问题描述】:
背景
我正在制作一个用于将 Python 功能添加到 Java 数组的数组工具类,我遇到了这个问题。这显然是一个简化的、更通用的版本。
问题
在这个例子中:
public class ArrayTest
{
public static void main(String[] args)
{
// initial setup
int[] given = {1, 2, 3, 4, 5};
// change array
int[] changed = adjust(given);
// these end up being the same...
System.out.println(Arrays.toString(changed));
System.out.println(Arrays.toString(given));
}
private static int[] adjust(int[] a)
{
for (int i = 0; i < a.length; i++)
{
a[i]++;
}
return a;
}
}
...为什么changed 和given 是同一个东西?
免责声明
我猜以前有人问过这个问题,但我找不到答案,所以对此我深表歉意。
【问题讨论】:
-
你说得对,这一定是重复的。搜索它很棘手,但我们应该能够找到它。
-
修改传递给方法的数组将修改该数组:stackoverflow.com/questions/12757841/…