A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一道面试题,String s = new String("hello")和String s = "hello"有什么区别?

5 个回复

倒序浏览
存放地方的区别:
第一个s是一个对象,它是存放在堆中的。
第二个s是一个字符串常量,它存放在内存的静态存储区。
用法的区别:
第一个是个对象,所以可以用String类中的所有方法,而第二个不是对象,它不可以操作String类中的方法
回复 使用道具 举报
第一个是对象,第二个是为String变量赋值
回复 使用道具 举报
大家说得好
回复 使用道具 举报
new string 开辟了两个内存空间,内容重复。而另一种直接赋值就不会,也没有垃圾产生。
回复 使用道具 举报
不多解释了,看看这个帖子就知道了
http://bbs.itheima.com/thread-129040-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马