有什么不同

Sur*_*rma 1 java memory string encapsulation

int a =10;
a = 30;
Run Code Online (Sandbox Code Playgroud)

&

String a = "abc";
a = "xyz";
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我这里执行了什么类型的任务.

我知道提出这样一个愚蠢的问题几乎不值得,但我只是想找到字符串赋值和其他对象赋值之间的区别.

我知道像"abc"这样的每个String值都是一个String对象本身,然后在分配给它时执行什么样的操作String Object.喜欢a = "xyz".

Ank*_*kit 5

当你写的时,字符串是不可变的

String a ="abc" 
Run Code Online (Sandbox Code Playgroud)

在字符串池中创建具有内容abc的字符串,当您a = "xyz" 在内容为xyz的字符串池中创建另一个字符串时 ,不会替换旧字符串.而在int的情况下,值会改变.