常见的字符串API:
String,StringBuilder,StringJonier,StringBuffer,Pattern,Matcher
创建String对象的两种方式:
1、直接赋值 String name = "fox";
2、new方式
(1)空参构造:String name = new String();
(2)有参构造:String name = new String("fox");
(3)根据字符数组构造:char[] chs = {'f','o','x'};
String name = new String(chs); //生成fox,自动拼接
(4)根据字节数组进行构造:byte[] bytes = {97,98,99,100};
String name = new String(bytes); //生成abcd,根据ASCII码表转译
冷知识:
String s1 = "fox";
String s2 = "fox";
System.out.println(s1 == s2); //此时打印的是true
String s1 = "fox";
String s2 = new String("fox");
System.out.println(s1 == s2); //此时打印的是false
原因在于"=="号的两边如果是基本数据类型,则比较数据值
如果两边是引用数据类型,则比较地址值!
因此,如果想要进行字符串比较,使用
(1)boolean equals(要比较的字符串):结果完全一样才输出true
boolean result = s1.equals(s2)
(2)boolean equalsIgnoreCase(要比较的字符串):忽略大小写比较
boolean result = s1.equalsIgnoreCase(s2)
String substring(int beginIndex, int endIndex):截取字符串(包左不包右,左闭右开)
String replace("字符串1", "字符串2"):替换字符串,将字符串1替换为字符串2
StringBuilder概述:一个字符串容器,但是内容可以修改
作用:用来提高字符串的操作效率
使用场景:1、字符串的拼接;2、字符串的反转
StringBuilder构造方法:
(1)public StringBuilder():创建一个空白的对象
(2)public StringBuilder(String str):根据字符串内容进行构造
StringBuilder常用方法:
public StringBuilder append(任意类型):添加数据,并返回给对象本身(直接作用在对象本身)
public StringBuilder reverse():反转容器中的内容(直接作用在对象本身)
public int length():返回长度
public String toString():将StringBuilder对象转换为String对象
StringJoiner概述:一个字符串容器,但是内容可以修改
使用场景:将字符串以某种特定间隔输出
StringJoiner构造方法:
public StringJoiner(间隔符号):创建一个StringJoiner对象,指定拼接时的间隔符号
public StringJoiner(间隔符号, 开始符号, 结束符号):创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号
StringJoiner常用方法:
public StringJoiner add(添加的内容):添加数据,并返回对象本身(直接作用在对象本身)
public int length():返回长度
public String toString():返回一个字符串长度(该字符串就是拼接之后的结果)