社区
Java SE
帖子详情
String s = new String("abc");和String s = "abc";
eric06s
2007-04-23 06:09:54
String s = new String("abc");
和
String s;
s = "abc";
和
String s = "abc";
有什么区别
...全文
278
6
打赏
收藏
String s = new String("abc");和String s = "abc";
String s = new String("abc"); 和 String s; s = "abc"; 和 String s = "abc"; 有什么区别
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dearhan
2008-09-13
打赏
举报
回复
[Quote=引用 2 楼 brooksychen 的回复:]
String s = new String( "abc ");
是先在常量池中生成了一个字符串常量(若常量池中目前没有 "abc "),然后在heap中生成一个String对象,该对象的内容就是这个常量,然后才是String类型的引用s指向这个String对象。
[/Quote]
你的意思是不是说创建了3个对象?s是不是个对象?s里面保存的是string的地址吗?
crashguard
2007-04-23
打赏
举报
回复
用String s = "ABC";
不要用String s = new String("ABC");
前者有编译器控制优化,后者无故增加开销。
brooksychen
2007-04-23
打赏
举报
回复
你不觉得String s = "abc";这种形式比String s = new String("abc");这种形式使用起来简单吗?这不就是好处?另外,前者支持“+”的操作,即 s1 + s2,后者不支持。
而之所以String s = new String("abc");这种形式会存在,是因为java中的String是对象,应当有这种按照一般生成对象的方法来生成String对象,即用new关键词生成新对象。
eric06s
2007-04-23
打赏
举报
回复
各有什么好处和缺点阿
brooksychen
2007-04-23
打赏
举报
回复
String s = "abc";
是在常量池中生成了一个字符串常量(若常量池中目前没有"abc"),而引用s指向它。
String s = new String("abc");
是先在常量池中生成了一个字符串常量(若常量池中目前没有"abc"),然后在heap中生成一个String对象,该对象的内容就是这个常量,然后才是String类型的引用s指向这个String对象。
CrazyGou
2007-04-23
打赏
举报
回复
参考:http://blog.csdn.net/sunnyjavamoon/archive/2006/07/13/913599.aspx
String
s=“
abc
“ 和
String
s1=
new
String
(“
abc
“)和
String
s2=
new
String
(“
abc
“)之间的关系
初学java时常常会碰到
String
s="
abc
" 和
String
s1=
new
String
("
abc
"),
String
s1=
new
String
("
abc
")和
String
s2=
new
String
("
abc
"),然后就让我们比较他们其中的关系,比如s==s1是true or false、s1==s2是true or ...
String
s=
new
String
(“
abc
“);创建了几个对象?
String
s=
new
String
("
abc
");创建了两个对象!
String
name="zhangsan";创建了一个对象!
String
s="java";Striing s2="java";创建了一个对象!
String
s="hello";s+="world";创建了三个对象!
String
s="hello"+...
String
s="
abc
"和
String
s=
new
String
("
abc
")的区别
首先解释一下
String
s="
abc
"和
String
s=
new
String
("
abc
")的区别:
String
s="
abc
";这里不会在堆中创建对象,首先在常量池寻找这个常量“
abc
”,如果没有“
abc
”则把
abc
存放到运行时常量池,然后把引用赋值给是s,...
String
s="
abc
" 和
String
s1=
new
String
("
abc
")内存分析
String
s=”
abc
” s是栈内变量,它的内存保存的是常量池的常量字符串对象对象”
abc
”的地址。...
String
s1=
new
String
(“
abc
”); s1是栈内变量,它的内存保存的是堆中的
new
String
对象的地址,
new
String
在堆中...
java中
String
s =
new
String
("
abc
")创建了几个对象
一、java中
String
s =
new
String
("
abc
")创建了几个对象 答案是两个,现在我们具体的说一下:
String
s =
new
String
("
abc
"); 首先我们要明白两个概念,引用变量和对象,对象一般通过
new
在堆中创建,s只是一个引用...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章