小编典典

Java方法不会更改参数对象

java

我有一个像这样的功能:

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

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


阅读 397

收藏
2020-11-30

共1个答案

小编典典

Java函数参数通过引用名称进行调用,这意味着当您将一个对象作为函数参数放置时,JVM将引用的值复制到新变量,并将其作为参数传递给函数。如果更改对象的内容,则原始对象将更改,但是如果更改引用的实际值,则这些更改将在函数结束时销毁。

希望对您有所帮助

2020-11-30