我知道 java 是按值返回而不是按引用返回,所以它复制了一个对象并传递了新的副本。返回语句也是这种情况吗?
return obj;
创建一个新的对象副本或简单地返回当前对象本身。
最佳答案
不,这是一个错误的假设。的确,Java 按值传递所有内容,但这意味着:
标量变量包含值,因此您很容易看出它们是按值传递的。
另一方面,对象变量不包含对象。您可以将它们视为包含对象的伪地址。该伪地址被复制(按值),但它仍然指向同一个对象。 (对象实际上仅使用
new
表达式创建。)
以上对于赋值、参数和返回值都是正确的(对于两种类型的变量)。
关于java - 返回对象在Java中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14500550/