如果 Java 是按值传递的,那么某些方法如何修改传递给它的一些参数?[复制]

If Java is pass by value, how can some methods modify some parameters passed to it? [duplicate]

提问人:Steven 提问时间:9/23/2015 更新时间:9/25/2015 访问量:60

问:

我没有确切的例子,但我知道一些 Java 方法可以修改传递给它的参数,并且调用该方法的地方可以使用这些修改后的值。

java OOP 参数 封装 传递 by-value

评论

0赞 Hovercraft Full Of Eels 9/23/2015
这不是刚刚被问到的吗?
2赞 chrylis -cautiouslyoptimistic- 9/23/2015
@HovercraftFullOfEels 大约每天一次。
0赞 Hovercraft Full Of Eels 9/23/2015
是的,就在这里
0赞 Hovercraft Full Of Eels 9/23/2015
史蒂文,请在提出可能在这里经常被问到的问题之前搜索该网站。例如:对类似问题进行网站搜索

答:

1赞 duffymo 9/23/2015 #1

Java 是按值传递的 - 总是

像 int、double 和 boolean 这样的原语显然是按值传递的。您无法更改这些参数。

Java 类的实例通过值将其引用传递到方法中。引用本身是不可变的 - 你不能像使用 C 指针那样在 Java 中编写交换方法。

但是,如果引用指向可变对象,则可以更改其状态。