Java中String的两种定义方式以及内存地址情况

Java中String的两种定义方式以及内存地址情况,第1张

Java中String的两种定义方式以及内存地址情况 1、以双引号“”定义的字符串,直接存储在堆内存中。

如下图:

图中s1和s2存储的是一样的地址。
那么如果用“”定义的字符串产生了拼接呢?
如下图:

字符串一旦拼接,就会在堆内存中新开辟一块空间,来存储拼接后的字符串。

2、以new String(“一个字符串”);定义的字符串会直接在堆内存中开辟一块新空间。

如下图:
可以看到,用这种方式定义的两个内容一样的字符串,地址却不相同。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5695591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存