在Java中通过引用传递对象

可能重复:
如何在Java中通过引用传递

是否可以在Java中通过引用传递对象

就像在C#中

public static void SomeMethod(ref Object obj) { ... } 

不,这在Java中是不可能的。

在Java中,方法的所有参数都按值传递。 请注意,非基本类型的变量(它们是对象的引用)也通过值传递:在这种情况下, 引用 按值传递 。 请注意,按值传递引用与通过引用传递不同。

对象的所有变量都是对象的引用。 将对象传递给方法时,您已经传递了对象的引用。 如果您不希望原始对象受到影响,则必须先将其克隆。

不,Java只是按值传递。

你不应该要求这样的东西。 您可以传递对象并更改其字段 – 这将反映在调用者中。

您必须创建一个引用类。 幸运的是,有一个。 试试看AtomicReference 。 请注意,它用于并发,因此可能不适合。

另一个想法是传递长度为1的Object数组。

传递参考数据类型参数

引用数据类型参数(如对象) 也按值传递给方法。 这意味着当方法返回时,传入的引用仍然引用与以前相同的对象。 但是,如果对象的字段的值具有适当的访问级别,则可以在该方法中更改它们的值。

来源: Java教程 >将信息传递给方法或构造函数