您的位置:首页 > 其它

String 的两种创建方法及存储方式

2016-09-12 22:52 375 查看
一、String str = "abc";

这种方式在堆区开辟空间,“abc”存储在字符串池中,在栈区创建变量str指向“abc”,当我们再次创建变量String str1 = “abc”时,JVM会到字符串池中寻找“abc”,找到后将引用赋值给str1,不会再次开辟空间创建“abc”;

 

二、String str = new String("abc");

这种方式首先在堆区开辟空间存储“abc”,然后再在堆区开辟空间创建字符串的对象,将“abc”赋值给字符串对象,最后将对象的引用赋值给str变量,当我们再次创建变量String str1 = “abc”时,JVM会重复执行前面的动作;

 

第二种方法很耗内存,且运行速度慢,一般情况下采用第一种方法,不允许采用第二种方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: