java中String new和直接赋值的区别

 我来答
wrapevev
2017-02-16 · TA获得超过634个赞
知道小有建树答主
回答量:727
采纳率:0%
帮助的人:331万
展开全部
new,会在java的堆内存中创建对象, 有几个new就有几个对象。 直接赋值, 是从字符串常量池中取值。 例如 String str1 = "a"; String str2 = "a"; System.out.println(str1==str2);结果为true,地址值 都是字符串长量池中的"a". String str3 = new ...
仙戈雅3n
2017-02-16 · TA获得超过5789个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:866万
展开全部
本质上是一样的,唯一的区别是使用new构造对象是显式调用了构造函数。而直接用字符串字面量赋值给String类型变量时,是由编译器自动去调用构造函数的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laobaitu0322
2017-02-16 · TA获得超过744个赞
知道小有建树答主
回答量:900
采纳率:33%
帮助的人:631万
展开全部

API中的描述:

String
public String(String original)
初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。由于 String 是不可变的,所以无需使用此构造方法,除非需要 original 的显式副本。
参数:
original - 一个 String。

并没有什么区别

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式