<分区>
Possible Duplicate:
Is Java pass by reference?
我有一个关于在 java 中按值传递和按引用传递的问题。
我编写了一个“Graph”类来将一长串 double 组显示为图形,(简化的)构造函数如下所示。
private double[] Values;
public Graph(double[] values) {
Values = values;
}
数组可以很长并且占用合理的内存量。
基本上我的问题是:如果我调用构造函数来创建一个新图,数组“Values”是传递给它的数组的副本,还是一个引用?
在我看来,基元是“按值传递”而对象是“按引用传递”,这应该意味着数组将是一个副本。虽然我知道这个定义在技术上是不正确的。
如果我是正确的,并且数组是一个副本,那么减少此类使用的内存量并从另一个类引用数组的最佳方法是什么? 抽象的 GetValues() 方法是实现此目的的好方法吗?
提前致谢
克里斯。