String与StringBuffer的比较

    技术2025-08-15  16

    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)

     

     

     

    最新回复(0)