操作少量的数据使用 String;
单线程操作大量数据使用 StringBuilder;
多线程操作大量数据使用 StringBuffer。


==charAt() 方法==

charAt() 方法的作用是按照索引值获得字符串中的指定字符。
Java规定,字符串中第一个字符的索引值是0,第二个字符的索引值是1,依次类推。例如:

1
2
String str = "123456789";
System.out.println(str.charAt(0) + " " + str.charAt(5) + " " + str.charAt(8));

==contains() 方法==

contains() 方法用来检测字符串是否包含某个子串,例如:

1
2
String str = "weixueyuan";
System.out.println(str.contains("yuan"));

==replace() 方法==

字符串替换,用来替换字符串中所有指定的子串,例如:

1
2
3
4
String str1 = "The url of Hozoy is www.Hozoy.cn!";
String str2 = str1.replace("Hozoy", "吹风机");
System.out.println(str1);
System.out.println(str2);

==split() 方法==

以指定字符串作为分隔符,对当前字符串进行分割,分割的结果是一个数组,例如:

1
2
3
4
5
6
7
8
import java.util.*;
public class Demo {
public static void main(String[] args){
String str = "wei_xue_yuan_is_good";
String strArr[] = str.split("_");
System.out.println(Arrays.toString(strArr));
}
}

运行结果:
[wei, xue, yuan, is, good]


实际开发中,如果需要对一个字符串进行频繁的修改,建议使用 ==StringBuffer==。
StringBuffer只能只用new来生成对象

append() 方法
append() 方法用于向当前字符串的末尾追加内容,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变,例如:

1
2
var str = new StringBuffer("biancheng100");
str.append(true);

deleteCharAt() 方法用来删除指定位置的字符,并将剩余的字符形成新的字符串。
还有delete() insert() setCharAt()

1
2
3
4
5
StringBuffer str = new StringBuffer("abcdef");
str.deleteCharAt(0);//删除第0字符
str.delete(1, 4);//删除1-3的字符
str.insert(3, "xyz");//在第3字符后加入字符串
str.setCharAt(3, 'z');//将第3字符改为新的一个char