程序中所有用“”字符串,都是String类的对象,哪怕是没有用new出来的。
一、特点:
1、字符串的内容不可以改变,它是一个常量。(每次一个“”都会生成一个地址,我们变量存的是地址而已,每次用“”给变量赋值,其实就是将新的“”地址赋值给变量)
2、正是因为字符串的内容不可以改变,所以字符串是可以共享使用,也就是如果先后new了两个以上字符串,它的内容是一样的,则在字符常量池中其实只有一份。
3、字符串效果相当于char[]字符数组,底层其实是byte[]字节数组。
二、创建字符串的常见3+1种方式
三种构造方法:
public String(),创建一个空白字符串,不包含任何内容
public String(char[] array),根据字符组的内容,来创建对应的字符串。
public String(byte[] array),根据字节数组的内容,来创建对应的字符串。
一种直接创建:
String str = "hello";//右边直接用双引号
public class Demo01String {
public static void main(String[] args) {
String str1 = new String();
System.out.println("第一个字符串是:"+str1);
char[] charArray = {'A','B','C','D'};
String str2 = new String(charArray);
System.out.println("第二个字符串是:" + str2);
byte[] byteArray = {97,98,99};
String str3 = new String(byteArray);
System.out.println("第三个字符串是:" + str3);
String str4 = "hello";
System.out.println("第四个字符串是:" + str4);
}
}
输出结果:
第一个字符串是:
第二个字符串是:ABCD
第三个字符串是:abc
第四个字符串是:hello