Java中String直接赋字符串和new String的区别
[大鹏] [2019-7-12 21:11:27] 有用(0) 垃圾(0) 我有高见  不良信息举报

最佳答案

首先可以进行一下比较

string a="abc";

string aa=new string("abc");

(a==aa);

输出的是false。

在这里,我们先不谈堆,也不谈栈,只引入常量池这个简单的概念。常量池指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、接口、方法等等中的常量,也包括字符串常量,例string a="abc"。

而new string()是申明一个新的空字符串,注意是空字符串不是null,并且不是常量不放入常量池中,它们有自己的地址空间。

昵称: 验证码:  
评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述
康游戏忠告:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活
19游戏问答频道,期待您的再次光临
不良信息举报
举报网址:
快速操作:点我下载删稿文档后联系QQ/微信:2606213727