2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
第一,前者new的对象创建了两个对象,在堆内存中创建一个对象,一个放在字符串常量池中
第二,后者String创建了一个对象,在字符串常量池中
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建两个对象,new的对象存在栈中,对应的值存在堆中,"abc"会去字符串常量池中查找是否有"abc"对象,
如果没有,就会将该对象存放在字符串常量池中。
String s = "abc";创建了两个对象,赋值的对象存放在栈中,"abc"会去字符串常量池中查找是否有"abc"对象,
如果没有,就会将该对象存放在字符串常量池中。
3.StringBuilder的作用,为什么要使用StringBuilder
StringBulider的作用是用来大量修改字符串。
StringBuilder类,可以解决频繁拼接创建对象的问题,因为StringBuilder类可以表示一个长度可变的字符串 作者: 施泽祥 时间: 2019-7-11 21:38
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型,字符串的地址值不能改变,只能分享。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
(1)创建了两个对象,一个在堆内存创建了一个对象,另一个在字符串常量池创建对象。
(2)创建了一个对象,在字符串常量池里面创建对象。
3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder是一个可变字符串,可以用来存储字符。它可以用来减少创建对象的次数,使用StringBuilder创建一个对象,可以一直在这个对象中去扩容,提高程序的执行效率作者: 池财东 时间: 2019-7-11 21:40
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用数据类型,因为他们的值在创建之后无法更改。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
两个对象,一个对象在堆内存中被new出来,另一个""的被引进字符串池中。
一个对象 在字符串池中。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
【1】2个对象,1个是"abc",1个是字符串对象s,"abc"在常量池,s在堆内存中new一个新空间
【2】1个对象,"abc"在常量池中,s在栈中
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引数类型 在内存内运行会被改变,字符串是个常量所以不能被改变
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
第一个在堆内存中创建一个 在常量池里创建一个 所以一共是两个。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
(1)其创建了两个对象,(String s = )在栈内存中创建;(new)在堆内存中创建。
(2)其创建了两个对象,创建在字符串常量池中和创建在栈中。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答String s = new String("abc")创建了两个对象,分别在堆内存区域和堆内存常量池.
String s = "abc"创建了一个对象,在堆内存常量池.
1.String类是引用数据类型 ,因为String本质上是char数组,而数组的长度是不可变的。
2.String s = new String("abc");创建了两个对象,一个是在堆内存中新建的对象,他的值指向常量池中“abc”的地址,另一个是由“”引号包括起来的字符串会直接存入到常量池中,而常量池其实是由于为了方便调用字符串所建的一个存在堆内存的特殊区域。String s = "abc"只创建了一个对象,存在常量池中。
3.StringBuilder会在堆内存中开辟一个空间,使得长度过长的字符串相加时,无需频繁存入字符串变量池中。作者: lujie 时间: 2019-7-11 22:01
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String是引用数据类型,因为他们的值在创建后不可更该。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答String s=new String("abc")创建了三个对象,在内存中一个,堆内存中两个
String s="abc"创建了一个在堆内存中