(1)String类的初始化
1.字符串常量直接赋值
2.String()构造方法——初始化
·String()空参数构造方法
·String(String s)String类型为参数的构造方法
·String(char[] c)char数组为参数的构造方法
代码如下
public class Demo {
public static void main(String[] args) {
//字符串直接赋值
String s1="abc";
//空参数构造方法
String s2=new String();
//string类型为参数的构造方法
String s3=new String("abcde");
//char【】类型为参数的构造方法
char[] c=new char[] {'a','s','d','f'};
String s4=new String(c);
System.out.println(s1);
System.out.println(s2);//空参数没有输出
System.out.println(s3);
System.out.println(s4);
}
}
运行结果如下
(2)String类的函数说明
(3)为什么有了String类还要有StringBuffer类呢?
由于字符串是常量,因此一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。但是我们知道,如果我们在有限的内存空间里一直对字符进行修改,那内存很明显是不够用的。所以为了便于对字符串进行修改,在JDK中提供了一个StringBuffer类(也称字符串缓冲区)。StringBuffer类和String类最大的区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。
(4)StringBuffer类的函数声明
(5)String类和StringBuffer类的区别
①String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可,但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer类。
②String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法,具体示例如下:
③String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能,具体示例如下: