【发布时间】:2016-04-29 10:05:36
【问题描述】:
关于原始类型在 Java 中的工作方式,我有一个奇怪的问题。当您将 ObjectA 分配为 ObjectB 时使用 Objects 时就像这样
Rectangle ObjectB = new Rectangle();
ObjectA = ObjectB;
任何对 ObjectA 的调用现在都指向 ObjectB 的内存位置。但是,当使用整数或其他原始类型时,情况并非如此。例如
int x = 3;
int y = x;
int x = 5;
return y;
y 将返回 3,即初始化 y 时 x 的值。
我的问题是为什么对象的赋值会在内存中创建引用,而基元会复制彼此的值?除了这很有用之外,它是如何在 Java 中实现的?
如果有人能让我更深入地了解原始类型和对象之间的赋值是如何工作的,我将不胜感激。
【问题讨论】:
-
Java 有两种类型的变量。原语和参考。复制图元时,复制的是图元值,复制引用时,复制的是引用值。没有“对象赋值”
标签: java object variable-assignment primitive