关于原始类型如何在Java中工作,我有一个奇怪的问题.将ObjectA指定为ObjectB时使用对象时是这样的
Rectangle ObjectB = new Rectangle();
ObjectA = ObjectB;
Run Code Online (Sandbox Code Playgroud)
对ObjectA的任何调用现在都指向ObjectB的内存位置.但是,当使用整数或其他原始类型时,情况并非如此.例如
int x = 3;
int y = x;
int x = 5;
return y;
Run Code Online (Sandbox Code Playgroud)
当y被初始化时,y将返回3,即x的值.
我的问题是为什么对象的赋值在内存中创建引用,而原语会复制彼此的值?除了这个有用的事实,这是如何在Java中实现的?
我很感激能够让我更好地理解赋值在原始类型和对象之间如何工作的人.