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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 648764479 中级黑马   /  2016-9-11 21:40  /  624 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么要把String定义到常量池?

8 个回复

倒序浏览
字符串是常量;它们的值在创建之后不能更改。因为 String 对象是不可变的,所以可以共享。
回复 使用道具 举报
定义在常量池,如果新创建的string之前已经存在了,那么就共用常量池中的一个对象,节省空间
回复 使用道具 举报
string是比较特殊的,它定义的字符串是不能再改变的,自然在常量池中
回复 使用道具 举报
一旦被赋值,就不能被改变
回复 使用道具 举报
常量池定义在方法区,我的理解是在常量池中方法调用速度更快,因为不用创建对象,
回复 使用道具 举报
同感,常量池是什么东西啊,是方法区的一块内存吗
回复 使用道具 举报
wosika 来自手机 中级黑马 2016-9-11 23:59:35
8#
我也很苦恼,学习了楼上的!
回复 使用道具 举报
因为string用的较多,所以,为了性能,sun公司就把string定义到了常量池。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马