可能重复:
Java是否通过引用传递?
我有一个关于在java中传递值和通过引用传递的问题.
我有一个"Graph"类,我编写它来显示一个长数组的双精度图形,(简化)构造函数看起来像这样.
private double[] Values;
public Graph(double[] values) {
Values = values;
}
Run Code Online (Sandbox Code Playgroud)
阵列可能很长并占用合理的内存量.
基本上我的问题是:如果我调用构造函数来创建一个新图形,那么数组"Values"是传递给它的数组的副本,还是它将作为引用?
在我看来,Primitives是"按值传递"而对象是"通过引用传递",这应该意味着数组将是一个副本.虽然我知道这个定义在技术上并不正确.
如果我是正确的,并且数组是副本,那么减少这个类使用的内存量并从另一个类引用数组的最佳方法是什么?抽象的GetValues()方法是否是实现此目的的好方法?
提前致谢,
克里斯.