字符串基础知识总结
1、字符串概述及特点
概述
- Java.lang.String类是字符串;
- API当中说:Java程序中所有的字符串字面值都作为String类的实现。也就是说,程序当中所有双引号字符串,都是String类的对象。(就算没有new,也照样是String类的对象)。
特点
- 字符串的内容永不可变【重点】;
- 正是因为字符串不可改变,所以字符串是可以共享使用的。
- 字符串效果相当于char[]字符数组,但底层原理是byte[]字节数组。
2、字符串的创建-字符串的构造方法及直接创建
创建字符串的常见3+1种方式
三种构造方法
public String() 创建一个空白字符串,不含有任何内容
public String (char[] array) 根据字符数组的内容,来创建对应的字符串;
public String(byte[] array) 根据字节数组的内容,来创建对应的字符串;
例子:
//1、使用空参构造
String str1 = new String();//小括号留空,说明字符串什么内容都没有
//2、根据字符数组创建字符串
char[] charArray = {'A','B','C'};
String str2 = new String (charArray);
//3、根据字节数组创建字符串
byte[] byteArray = {'97,98,99};
String str2 = new String (byteArray );
直接创建
- String str =“Hello”; 右边直接使用双引号
- 注意:直接写上双引号,就是字符串对象。
3、字符串常量池
字符串常量池:程序当中直接写上双引号字符串,就在字符串常量池中
对基本类型来说,== 是数值的比较;
对引用类型来说,== 是地址值的比较;
4、字符串中常用方法的掌握
比较
== 是进行对象的地址值比较,如果确实需要字符串内容的比较,掌握如下两种方法:
- public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true,否则,返回false;
- public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较;
获取
掌握如下4个方法,获取长度、获取拼接字符串、获取指定索引位置单个字符、获取参数字符串在本字符串中的位置;
- **public int length()😗*获取字符串当中含有的字符个数,拿到字符串长度
- **public String concat(String str)😗*将当前字符串和参数字符串拼接成为返回值,返回新的字符串
- **public char charAt(int index)😗*获取指定索引位置的单个字符(索引从0开始)
- **public int indexOf(String str)😗*查找参数字符串在本字符串中首次出现的索引位置,如果没有,返回-1值
截取
截取字符串,掌握如下两个方法
- public String substring(int index):截取从参数位置一直到字符串末尾,返回新的字符串
- public String substring(int begin,int end):获取从begin开始,一直到end结束,中间的字符串。注意:左闭右开区间
转换
将字符串转换为其他(字符串数组、字节数组、新字符串),需掌握的方法
- **public char[] toCharArray()😗*将当前字符串拆分成为字符串数组作为返回值;
- **public byte[] getBytes()😗*获得当前字符串底层得字节数组;
- **public String replace(CharSequence oldString,charSequence newString)😗*将所有出现得老字符串,替换成为新的字符串,返回
替换之后的新字符串;
分割
- **public String[] split(String regex):**按照参数规则,将字符串切分为若干部分,参数regex是一个“正则表达式”。