String类的概念:
java.lang.String类用于描述字符串,Java程序中所有的字符串字面值都可以使用该类的对象加以描
述,如:“abc”。
该类由final关键字修饰,表示该类不能被继承。
从jdk1.9开始该类的底层不使用char[]来存储数据,而是改成 byte[]加上编码标记,从而节约了一
些空间。
该类描述的字符串内容是个常量不可更改,因此可以被共享使用。
如:
String str1 = “abc”; - 其中"abc"这个字符串是个常量不可改变。
str1 = “123”; - 将“123”字符串的地址赋值给变量str1。
- 改变str1的指向并没有改变指向的内容
常量池的概念:
由于String类型描述的字符串内容是常量不可改变,因此Java虚拟机将首次出现的字符串放入常量
池中,若后续代码中出现了相同字符串内容则直接使用池中已有的字符串对象而无需申请内存及创建对象,从而提高了性能。
String构造方式
1.使用字符串构造或无参构造
2.使用byte[]数组构造 可指定开始和结尾坐标构造
3.使用char[]数组构造 可指定开始和结尾坐标构造
字符串可以调用常用方法转换为byte,char数组,返回字符串位置下标,返回字符串长度,判断是否为空