String类对象数组可直接调用java.util.Arrays.sort()排序,而StringBuffered类对象数组不可以
String类的对象和StringBuffered类对象如果想要使用对象的方法进行一些处理,那么StringBuffered类对象可以使用public String toString()或public String (StringBuffer buffer)转为String类的对象使用,而String类的对象可以使用public StringBuffer(String str) 转为StringBuffered类对象使用。
一般的字符串对象都用String类,因为方便赋值,而且其具有的方法也多。而StringBuffered类对象主要用于经常修改的字符串对象。因为String类是常量类,其对象不可修改,对于其连接“+”操作会产生大量的内存垃圾,而StringBuffered类对象不会。
sans-serif;">
No.
比较点
String
StringBuffer
1
所在包
java.lang
java.lang
2
声明方式(继承关系)
public final class String
extends Object
implements Serializable, Comparable<String>, CharSequence
public final class StringBuffer
extends Object
implements Serializable, CharSequence
3
实例化方式
直接赋值、构造方法实例化
构造方法实例化
4
常用构造方法
无参
public String()
public StringBuffer()
两种类型之间互相转换
public String (StringBuffer buffer)
public StringBuffer(String str)
其他
public String(String original)
public StringBuffer(CharSequence seq)
public String(char[] value)
publicStringBuffer(int capacity)
public String(char[] value,int offset,int count)
无
5
实现字符串的连接
方法
public String concat(String str)
public StringBuffer append(数据类型 b)
运算符
+
无
6
返回指定位置的字符
public char charAt(int index)
7
返回字符数组
public char[] toCharArray()
无
8
删除指定位置内容
无
public StringBuffer delete(int start,int end)
9
在指定位置插入内容
无
public StringBuffer insert(int offset,数据类型 b)
10
判断其中是否存在某个字符串
public boolean contains(String s)
无
11
判断其中是否存在某个字符
public int indexOf(int ch)
无
public int indexOf(int ch,int fromIndex)
public int lastIndexOf(int ch)
public int lastIndexOf(int ch,int fromIndex)