Skip to content

九、字符串

一、创建String对象的两种方式

1、直接赋值

java
String name = "二狗";

2、new

java
String str1 = new String();		
String str2 = new String("二狗");	
String str3 = new String({'二','狗'});	
String str4 = new String({97,98,99,100});
构造方法说明
public String()创建空白字符串,不含任何内容
public String(String original)根据传入的字符串,创建字符串对象
public String(char[] chs)根据字符数组,创建字符串对象
public String(byte[] chs)根据字节数组,创建字符串对象

二、字符串比较

1、true

java
String s1="abc";
String s2="abc";
System.out.println(s1==s2);

2、false

java
String s1= new String("abc");
String s2= new String("abc");
System.out.println(s1==s2);

3、equals

比较字符串对象中的内容是否相等

java
boolean result=s1.equals(s2);

4、equalsIgnoreCase

比较字符串对象中的内容是否相等,忽略大小写

java
boolean result=s1.equalsIngoreCase(s2);

三、StringBuilder

1、介绍

StringBuilder可以看成是一个容器,创建之后里面的内容是可变的

  • 作用:提高字符串的操作效率
  • 注意:

2、构造方法

  1. StringBuilder默认创建的是一个初始容量为16个字符的对象
  2. 也可以通过构造器创建一个指定容量的StringBuilder对象
  3. StringBuilder(CharSequence seq)方法创建的对象总容量是16加上入参seq的字符个数

定义格式

方法名说明
public StringBuilder()创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str)根据字符串的内容,来创建可变字符串对象
public StringBuilder(int capacity)参数 capacity 是初始容量,表示字符串的初始长度。如果需要添加的内容超过了初始容量,字符串将自动增长
public StringBuilder(CharSequence seq)参数 seq 是一个 CharSequence 对象,可以是 String、StringBuffer、StringBuilder 等实现了 CharSequence 接口的对象

示例

java
public StringBuilder()

// 创建一个空白可变字符串对象,不含有任何内容。

---

public StringBuilder(String str)

// 根据字符串的内容,来创建可变字符串对象。

---

public StringBuilder(int capacity)

// 根据指定的容量创建一个可变字符串对象。
// 参数 capacity 是初始容量,表示字符串的初始长度。如果需要添加的内容超过了初始容量,字符串将自动增长。

---

public StringBuilder(CharSequence seq)

// 根据 CharSequence 对象创建一个可变字符串对象。
// 参数 seq 是一个 CharSequence 对象,可以是 String、StringBuffer、StringBuilder 等实现了 CharSequence 接口的对象。
// 创建的可变字符串对象的容量是 16 加上 seq 的字符个数。

3、成员方法

1、append()

append()将基本类型数值和字符数组转换为字符串,并将其添加到StringBuilder对象的末端

格式

java
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("二狗")

2、insert()

insert()将基本类型数值和字符数组转换为字符串,插入到StringBuilder对象指定入参索引位置处,其他字符依次向后移

格式

java
StringBuilder stringBuilder = new StringBuilder("二狗");
stringBuilder.insert(1,"快跑");		//二快跑狗
stringBuilder.insert(2,true);		 //二块true跑狗

3、delete()

delete()可以删除指定索引范围的字符,start和end相同则不会做任何删除操作

格式

java
delete(int start,int end);

4、charAt()

获取指定索引的字符值,第一个字符索引为0,最后一个字符索引为-1

java
StringBuilder stringBuilder = new StringBuilder("二狗");
System.out.println(stringBuilder.charAt(1));    //狗

5、capacity()

返回当前容量,以字符为单位

6、replace()

将整个字符串序列中指定范围内的字符序列统一替换新的入参字符串

格式

java
replace(int start,int end,String str);

7、reverse()

将字符串序列反转,创建一个新的StringBuilder对象

8、toString()

将StringBuilder转换为String对象

四、StringJoiner

1、介绍

  • StringJoinerStringBuilder一样,可以看成一个容器,创建之后里面的内容是可变的
  • 作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场很少人使用

2、构造方法

方法名说明
public StringJoiner(间隔符号)创建一个StringJoiner对象,指定拼接时的间隔符号
public StringJoiner(间隔符号,开始符号,结束符号)创建一个StringJoiner对象,指定拼接时的间隔符号,开始符号,结束符号
java
StringJoiner sj = new StringJoiner("--");				//1--2--3
StringJoiner sj = new StringJoiner("--","[","]");		//[1--2--3]

3、成员方法

方法名说明
public StringJoiner add(添加的内容)添加数据,并返回对象本身
public int length()返回长度(字符出现的个数)
public String toString()返回一个字符串(该字符串就是拼接之后的结果)