【发布时间】:2014-11-11 00:38:19
【问题描述】:
为什么会这样,按排序顺序显示array?:
Integer[] array={7,5,9,3,6,0,2,4};
MergeSort.mergeSort(array,0,7);
System.out.println(Arrays.toString(array));
具体来说,为什么将array 传递给公共静态void 方法mergeSort 最终会修改数组本身?我认为 Java 可以避免这种情况。例如这段代码:
public static void main(String[] args){
int c=2;
change(c);
System.out.print(c);
}
public static void change(int c){
c=4;
}
返回 2 而不是 4。我很困惑为什么 Java 允许您修改作为参数传递的数组,而不是 int
【问题讨论】:
标签: java methods encapsulation