1

我有这样的功能:

public static int partition(List list, ListElement elemL, ListElement elemR){
    ListElement elemX;
    ...
    elemR = elemX.next;
    return x; 
}

并且在函数结束时,elemR发生了变化,但是在从 main 方法调用函数之后,参数elemR仍然具有与函数调用之前相同的值。有什么问题?如何在调用函数后更改此 ListElement 并“保存”此更改而不将返回类型更改为 ListElement(我也需要整数返回值)?

4

1 回答 1

8

Java 函数参数通过引用名称调用,这意味着当您将对象作为函数参数放置时,JVM 会将引用的值复制到新变量,并将其作为参数传递给函数。如果你改变了对象的内容,那么原来的对象就会改变,但是如果你改变了引用的实际值,那么这些改变就会在函数结束时被销毁。

我希望它有帮助

于 2013-05-13T00:45:18.517 回答