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)
|
public StringBuffer(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)
|
12
|
在字符串中查找指定字符串的位置
|
public int indexOf(String str)
|
public int indexOf(String str,int fromIndex)
|
public int lastIndexOf(String str)
|
public int lastIndexOf(String str,int fromIndex)
|
13
|
在字符串中实现替换字符或字符串操作
|
public String replace(char oldChar,char newChar)
|
public void setCharAt(int index,char ch)
|
public String replaceAll(String regex,String replacement)
|
public StringBuffer replace(int start,int end,String str)
|
public String replaceFirst(String regex,String replacement)
|
14
|
将字符串进行反转
|
无
|
public StringBuffer reverse()
|
15
|
字符串的截取
|
public String substring(int beginIndex)
|
public String substring(int beginIndex,int endIndex)
|
16
|
toString
|
返回自己
|
public String toString()
|
17
|
判断字符串是否以xx开头或结尾
|
public boolean startsWith(String prefix)
|
无
|
public boolean startsWith(String prefix,int toffset)
|
public boolean endsWith(String suffix)
|
18
|
测字符串的长度
|
public int length()
|
19
|
判断字符串是否为空
|
public boolean isEmpty()
指的判断其内容是否为 “""”
|
无
|
20
|
转换大小写
|
public String toLowerCase()
|
无
|
public String toUpperCase()
|
21
|
去掉其中的空格
|
public String trim()
|
无
|
22
|
字符串的拆分
|
public String[] split(String regex)
|
无
|
public String[] split(String regex,int limit)
|
23
|
字符串比较
|
public boolean equals(String anObject)
|
无
|
24
|
字符串作为参数
|
不能实现按引用传递
|
StringBuffer的对象引用传递
|
相关推荐
String、StringBuffer和StringBuilder的比较 通过上面的分析,我们可以看到,String类的字符串是不可变的,而StringBuffer和StringBuilder类的字符串可以被修改。StringBuffer类是线程安全的,而StringBuilder类...
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候...
在 Java 中,String, StringBuffer 和 StringBuilder 三个类都是用于字符操作的,但它们之间有着很大的区别。 首先,String 是不可变类,意味着一旦创建了 String 对象,就不能修改它的值。每次对 String 对象的...
从非常细致的角度分析了String和Stringbuffer的主要区别
在上述代码示例中,我们比较了使用`String`和`StringBuffer`进行5000次字符串拼接操作的时间消耗。当使用`String`时,每次循环都会生成新的`String`对象,导致总时间达到46687毫秒。而使用`StringBuffer`,由于其...
String、StringBuffer 和 StringBuilder 是 Java 语言中三种不同类型的字符串处理方式,它们之间存在着明显的性能和线程安全性差异。 String String 类型是不可变的对象,每次对 String 对象进行改变时都会生成一...
在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`是处理字符串的三个重要类,它们各自有特定的使用场景和优缺点。理解它们的差异对于编写高效的代码至关重要。 **String类** `String`是不可变的类,...
在Java编程语言中,String、StringBuilder和StringBuffer都是用来处理字符串的类,它们之间存在一些重要的区别,主要涉及到性能和线程安全性。 首先,`String`类代表的是字符串常量,一旦创建,其内容就不能改变。...
在Java编程语言中,`String`和`StringBuffer`都是用来表示和操作字符串的重要类,但它们在使用场景和性能上有显著的区别。了解这些差异对于编写高效、优化的代码至关重要。 首先,`String`类是不可变的。这意味着...
针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍针对String的详细介绍...
在Java编程语言中,`String`与`StringBuffer`是两个重要的字符串处理类,它们各自具有独特的特性和用途,尤其在面试或笔试中常被提及作为考察应聘者对Java基础知识掌握程度的重要知识点。 ### `String`类:不可变性...
StringBuffer:字符创变量 StringBuilder:字符创变量 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段代码:
在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`都是用来处理字符串的类,但它们之间存在显著的差异,主要体现在性能、线程安全性和使用场景上。 首先,`String`是最基本的字符串类,它代表的是不可...
在这个示例中,我们比较了使用 `String` 和 `StringBuffer` 进行 5000 次字符串拼接的执行时间。根据实际运行结果,我们可以发现 `StringBuffer` 的执行时间明显短于 `String`,尤其是在大量字符串拼接的情况下。 #...
1. **单线程环境**:在这种情况下,推荐使用 **StringBuilder**,因为它不提供线程安全机制,所以在性能上优于 StringBuffer 和 String。 2. **多线程环境**: - 如果需要修改字符串内容,则应选择 **...
### `String` 和 `StringBuffer` 的基本概念 #### `String` 在Java中,`String` 类表示不可变的字符序列,也就是说一旦创建了一个字符串对象后,其内容就不能被更改。这使得`String`对象非常适合于处理固定不变的...
在Java编程语言中,`String`和`StringBuffer`(在Java 5之后被`StringBuilder`取代,但在多线程环境中仍然使用`StringBuffer`)是处理文本字符串的两个核心类,它们各自有着不同的特性和用途。理解它们的区别对于...
字符串在Java中的表现形式主要有两种:`String`和`StringBuffer`(或者`StringBuilder`)。它们之间的主要区别在于可变性、性能和使用场景。 1. **不可变性**: `String`类是不可变的,这意味着一旦创建了一个`...