1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型,
字符串在效果上相当于字符数组char[],在创建时候长度就是固定的,所以不可变
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了两个对象,分别为new String在堆内存中,“abc”在堆内存的字符常量池中;
String s = “abc”;创建了一个对象,在堆内存的字符常量池中
3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的
StringBuilder 有一个字符缓冲区,会提前将储存空间扩容产生,当储存字符串时,节省很多创建空间的时间,提高效率 |