1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用数据类型,因为String底层是字符数组,数组长度不可以变,因此String类字符串长度不可以变。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s=new String("abc");创建了俩个对象,new String()在堆内存,"abc"在堆内存内的常量池。
String s="abc"创建了一个对象,"abc"在堆内存内的常量池中。
3.StringBuilder的作用,为什么要使用StringBuilder
StringBuilder创建了一个可变的字符串长度的存储空间。从创建对象角度看,StringBuilder进行字符串拼接时并不创建新的对象,自始至终只是创建了一个对象,节省了计算机内存空间,提高了运行效率。 |