Java String

  1. String类 不频繁变动的字符串
  2. StringBuffer类 多线程环境下字符串拼接
  3. StringBuilder类 单线程字符串拼接

在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

1. String类

构造方法的使用

1
2
3
String s = new String();
char[] c = {'a','b','c'};
String s = new String(c);

常用方法

1
2
3
4
5
6
7
8
public boolean equals(Object anObject);
/*判断是否为同一个对象*/
public boolean equalsIgnoreCase(String anotherString);
//判断逻辑与equals相同,不考虑大小写。
public int compareTo(String anotherString);
//判断两个字符串的内容是否相等,是->0;否->不等于0的整数。
public int compareToIgnoreCase(String str);
//判断是不考虑大小写。

2. StringBuffer和StringBuilder类

如果想对字符串进行修改的时候需要使用这两个类。

在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。