String 的两种创建方法及存储方式
2016-09-12 22:52
197 查看
一、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会重复执行前面的动作;
第二种方法很耗内存,且运行速度慢,一般情况下采用第一种方法,不允许采用第二种方法。
这种方式在堆区开辟空间,“abc”存储在字符串池中,在栈区创建变量str指向“abc”,当我们再次创建变量String str1 = “abc”时,JVM会到字符串池中寻找“abc”,找到后将引用赋值给str1,不会再次开辟空间创建“abc”;
二、String str = new String("abc");
这种方式首先在堆区开辟空间存储“abc”,然后再在堆区开辟空间创建字符串的对象,将“abc”赋值给字符串对象,最后将对象的引用赋值给str变量,当我们再次创建变量String str1 = “abc”时,JVM会重复执行前面的动作;
第二种方法很耗内存,且运行速度慢,一般情况下采用第一种方法,不允许采用第二种方法。
相关文章推荐
- String 的两种创建方法及存储方式
- String 的两种创建方法及存储方式
- String 的两种创建方法及存储方式
- String 的两种创建方法及存储方式
- String 的两种创建方法及存储方式
- String 的两种创建方法及存储方式
- 关于java基础类型与引用类型内存存储问题,以及string.intern()方法(String两种创建方式的区别)
- String 的两种创建方法及存储方式
- String 的两种创建方法及存储方式
- String 的两种创建方法及存储方式
- java中创建String类型对象的两种方式以及在使用equals()和“==”两种方法时的区别
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)
- String的split()方法的两种使用方式
- 线程 创建和启动线程的两种方式 实现Runnable接口 继承Thread类 重写唯一方法run()
- 两种在linux下创建应用程序快捷方式的方法
- 创建String的两种方式有什么区别?
- MySQL创建多表查询的存储过程的两种方法
- C#两种创建快捷方式的方法
- Android创建桌面快捷方式两种方法
- Android创建桌面快捷方式两种方法