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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String类是引用数据类型,因为字符串表现是形式上是字符数组,底层是字节数组。

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc");这句代码创建了2个对象;s在堆内存创建,abc在字符串常量池里创建;String s = "abc";创建了一个对象,在字符串常量池里创建。

3.StringBuilder的作用,为什么要使用StringBuilder
答:StringBuilder是一个可变的字符串类,可以用它存储字符串。
       因为String类每次拼接字符串都会创建一个新的对象,对程序的执行效率有影响,StringBuilder每次拼接都是在缓冲区中,自始至终就一个对象,其效率高于String。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
  String类是引用数据类型;字符串从表法上看是字符数组,从底层上看是字节数组。

2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
   创建了两个对象:一个存在堆内存中,一个存在字符串常量池中;
   创建了一个对象:存在字符串常量池中。
  
3.StringBuilder的作用,为什么要使用StringBuilder
   StringBuilder可以在对象中拼接字符串,减少创建对象数量,提高程序效率。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马