2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
3.StringBuilder的作用,为什么要使用StringBuilder作者: 黄均贤 时间: 2019-6-5 19:00
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String类是引用数据类型。因为字符串的地址值不能改变,只能分享。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:(1)创建了两个对象,s在堆内存创建,""里面的abc在字符串常量池里创建。
(2)创建了一个对象,在字符串常量池中创建。
3.StringBuilder的作用,为什么要使用StringBuilder
答:String类每次拼接字符串都会创建一个新的对象,对程序的执行效率有影响,StringBuilder每次拼接都是在缓冲区中,自始至终就一个对象,效率高于String。作者: 郭付民 时间: 2019-6-5 19:04
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:引用数据类型包括类,接口和数组,而Sring属于类,是引用数据类型。
字符串效果上相当于字符数组,数组的长度确定以后是不能改变的,所以字符串的长度不可变。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:对于String s = new String("abc")分为两种情况:
(1)如果常量池中有字符串abc,那么只会字内存中创建一个对象。
(2)如果常量池中没有字符串abc,那么在常量池中创建一个内容为abc的对象,但是遇到了new关键字,则还是会在内存(不是常量池)中创建一个对象,然后将对象返回给引用s。
对于String s = "abc"是在常量池中创建了一个对象
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
解:第一个创建了2个对象,一个指向堆内存开辟的对象空间,另一个字符串对象从堆内存对象空间指向字符串常量池的对象。
第二个创建了1个对象,指在堆内存里字符串常量池里的字符串对象。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答: String s = new String("abc");创建了两个对象,new String 会在堆内存中开辟空间,创建新的地址值,"abc"会在常量池中创建字符串。
String s = "abc"; 创建了一个对象,在常量池中创建一个对象。
3.StringBuilder的作用,为什么要使用StringBuilder
答:可变的字符串序列
StringBuilder每次拼接都在缓冲区中,一直就一个对象,提高效率,减少内存占用。作者: 郑梅月 时间: 2019-6-5 19:51
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:类属于引用类型,即String类属于引用类型。字符串在堆内存中创建,当字符串的长度发生改变那么所指向的也不是当前对象了。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc”);创建了三个对象,“”中的abc在堆内存中的字符串常量池 开辟空间,new String()在堆内存中开辟一块空间。
String s=“abc”,如果在堆内存中的字符串常量池中已经存在属于abc的区域,那么会 直接引用她的地址值,如果常量池没有属于abc的区域将会创建属于abc的区域。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc"); 创建了两个对象,一个是new String,一个是常量池里的”abc”,都在堆内存中。
String s = "abc"; 创建了1个对象,”abc”放在常量池里
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:对于String s = new String("abc")分为两种情况:
(1)如果常量池中有字符串abc,那么只会字内存中创建一个对象。
(2)如果常量池中没有字符串abc,那么在常量池中创建一个内容为abc的对象,但是遇到了new关键字,则还是会在内存(不是常量池)中创建一个对象,然后将对象返回给引用s。
对于String s = "abc"是在常量池中创建了一个对象
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");这句代码创建了两个对象,在堆中创建一个新的区域把地址值赋给s,并在常量池中创建一个”abc“的对象。
String s = "abc";创建了一个对象,在常量池中创建一个”abc“的对象
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc");这句代码创建了两个对象,new出来的对象在堆内存中,"abc"创建在常量池中
String s = "abc";这句代码在常量池中创建了一个字符串对象s
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:第一句代码创建了两个对象,分别存在堆内存中与字符串常量池中创建。
第二句代码创建了一个对象,在堆内存中的额字符串常量池中创建。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");这句代码创建了两个对象,在堆中创建一个新的区域把地址值赋给s,并在常量池中创建一个”abc“的对象。
String s = "abc";创建了一个对象,在常量池中创建一个”abc“的对象
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:.String s = new String("abc");一共创建了两个对象,一个在堆内存中,一个在堆内存字符串常量池中。String s = "abc";创建了一个对象,在堆内存字符串常量池中。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc");这句代码创建了2个对象;s在堆内存创建,abc在字符串常量池里创建;
String s = "abc";创建了一个对象,在字符串常量池里创建
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
第一个创建了2个对象,一个指向堆内存开辟的对象空间,另一个字符串对象从堆内存对象空间指向字符串常量池的对象。
第二个创建了1个对象,指在堆内存里字符串常量池里的字符串对象。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:两个对象, new String()在堆内存区域创建,"abc"常量池创建。
一个对象,"abc"在堆内存区域创建一个常量池。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了两个个对象,一个在堆内存中创建,一个在堆内存中的字符串常量池中创建。
String s = "abc"创建了一个对象 ,在堆内存中的字符串常量池中创建。
String类是引用数据类型。因为字符串的地址值不能改变,只可以用来公用。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
第一个创建了2个对象,一个指向堆内存开辟的对象空间,另一个字符串对象从堆内存对象空间指向字符串常量池的对象。
第二个创建了1个对象,指在堆内存里字符串常量池里的字符串对象。