String类是不可变类,即一旦一个String对象被创建后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。
StringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建后,通过StringBuffer提供的append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列,一旦通过StringBuffer生成了最终想要的字符串,就可以调用它的toString()方法将其转换为一个String对象。
从JDK1.5开始出现的StringBuilder类,也代表字符串对象。实际上,StringBuilder和StringBuffer基本相似,两个类的构造器和方法基本相同。不同的是StringBuffer是线程安全的,而StringBuilder没有实现线程安全,所以性能略高。因此通常情况下,如果需要创建一个内容可变的字符串对象,则应该优先考虑使用StringBuiler类
String类提供了大量方法来操作字符串对象:
char charAt(int index):获取字符串中指定位置的字符。
boolean equals(Object anObject):将该字符串与指定对象比较,如果二者包含的字符序列相等,则返回true;否则返回false.
int indexOf(int ch):找出ch字符在该字符串中第一次出现的位置。
int indexOf(int ch,int fromIndex):找出ch字符在该字符串中从fromIndex开始后第一次出现的位置。
int indexOf(String str):找出str子字符串在该字符串中第一次出现的位置。
int indexOf(String str,int fromIndex):找出str子字符串在该字符串中从fromIndex开始后第一次出现的位置。
int lastIndexOf(int ch):找出ch字符在该字符串中最后一次出现的位置。
int lastIndexOf(int ch,int fromIndex):找出ch字符在该字符串中从fromIndex开始后最后一次出现的位置。
int lastIndexOf(String str):找出str子字符串在该字符串中最后一次出现的位置。
int lastIndexOf(String str,fromIndex):找出str子字符串在该字符串中从fromIndex开始后最后一次出现的位置。
String substring(int beginIndex):获取从beginIndex位置开始到结束的子字符串。
String substring(int beginIndex,int endIndex)获取从beginIndex到endIndex的子字符串。
char[] toCharArray():将该String对象转换成char数组。