【发布时间】:2013-05-06 23:06:56
【问题描述】:
我有这样的功能:
public static int partition(List list, ListElement elemL, ListElement elemR){
ListElement elemX;
...
elemR = elemX.next;
return x;
}
并且在函数结束时 elemR 发生了变化,但是在从主方法调用函数之后,参数 elemR 仍然具有与函数之前相同的值称呼。 有什么问题?如何在调用函数后更改此 ListElement 并“保存”此更改而不将返回类型更改为 ListElement(我也需要整数返回值)?
【问题讨论】:
-
Java 不是按引用调用,它只是按值调用。看看this
-
“使方法具有破坏性”是什么意思?该怎么做?
-
好的,我想我明白了这个问题但是我仍然不知道如何解决这个问题,因为我注意到能够更改 elemX 的值,我必须为 elemR 分配另一个对象。有没有人有想法,如何做到这一点?
-
好的,我想我刚刚找到了解决方案。我将 elemR 和 elemL 放在 ArrayList 中,并将 ArrayList 作为函数中的参数,所以它似乎工作成功(:
标签: java object parameters pass-by-reference