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) |