一.String类
1.字符串的概述和特点
(1)字符串的概述
java.lang.String
Java程序中所有字符串字面值都作为此例的实现。
上面这句话其实不是很好懂,下面对上面这段话进行解释一下
其实就是我们写代码都是用过字符串的。其实就是说,程序当中所有双引号字符串,他并不是基本数据类型,而是String类的对象(就算没用new,也照样是String类的对象)
(2)字符串的特点
字符串中的内容永不可变,是常量,创建之后不能更改
正是因为字符串不可改变,所以字符串是可以共享使用的(可节省内存)
字符串效果上相当于字符数组char[];但是底层原理是byte[]字节数组。
其中字符串的特点中最重要的就是一定要知道字符串是个常量,永不可变,在这篇博客接下来的字符串常量池和StringBuilder类中会继续说明这个问题
2.字符串的构造方法和直接创建
创建字符串的常见3+1钟方式:三种构造方法和一种直接创建
下面我们先来说说字符串的三种构造方法:其实就是根据字符串的第三个特点来写的构造方法
public String( ): 创建一个空白字符串,不含有任何内容,长度为0
public String (char[] array): 根据数组的内容来创建字符串。字符串和字符数组的内容一样
public String (byte[] array): 根据字节数组内容来创建字符串
我们根据上面的构造方法来试试,举个例子
//1.使用空参构造方法创建
String str1 = new String();
//2.根据字符数组构造方法创建字符串
char[] charArray = {'A','B','C'};
//3.根据字节数组创建字符串
byte[] byteArray = {97,98,99};
String str3 = new String(byteArray);
sout("str1=" + str1 + ", str2=" + str2 +", str3=" +str3);
接下来还有最后一种直接创建,也就是我们大多数使用的情况
- String str = “abc”;
注意:我们直接写上""就是字符串对象,我们一般创建对象的时候都要使用new运算符计算出一个地址的,JVM已经帮我们new创建了String对象了。