hp5*_*p58 1 java parameters object pass-by-reference
我有这样的功能:
public static int partition(List list, ListElement elemL, ListElement elemR){
ListElement elemX;
...
elemR = elemX.next;
return x;
}
Run Code Online (Sandbox Code Playgroud)
并且在funktion结束时elemR被更改,但是在从main方法调用函数之后,参数elemR仍然具有与函数调用之前相同的值.有什么问题?如何在调用函数后更改此ListElement并"保存"此更改,而不将返回类型更改为ListElement(我还需要整数返回值)?
小智 7
Java函数参数由引用名称调用,这意味着当您将对象作为函数参数放置时,JVM会将引用的值复制到新变量,并将其作为参数传递给函数.如果更改对象的内容,则原始对象将更改,但如果更改引用的实际值,则在函数结束时将销毁这些更改.
我希望它有所帮助