String
类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于 Character
类指定的 Unicode
标准版 int
length()
返回此字符串的长度。
String
substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
String
substring(int beginIndex,
int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
String
replace(char oldChar,
char newChar)
返回一个新的字符串,它是通过用
newChar
替换此字符串中出现的所有 oldChar
得到的。 String
replace(CharSequence target, CharSequence replacement)
使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
public final class StringBufferextends Objectimplements Serializable, CharSequence
线程安全的可变字符序列。一个类似于 String
的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer
上的主要操作是 append
和 insert
方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append
方法始终将这些字符添加到缓冲区的末端;而 insert
方法则在指定的点添加字符。
例如,如果 z
引用一个当前内容为 "start
" 的字符串缓冲区对象,则此方法调用
z.append("le")
会使字符串缓冲区包含 "startle
",而
z.insert(4, "le")
将更改字符串缓冲区,使之包含 "starlet
"。
通常,如果 sb 引用 StringBuilder
的一个实例,则 sb.append(x)
和
sb.insert(sb.length(), x)
具有相同的效果。
当发生与源序列有关的操作(如源序列中的追加或插入操作)时,该类只在执行此操作的字符串缓冲区上而不是在源上实现同步。
每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。从
JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder
。与该类相比,通常应该优先使用
StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。
int
length()
返回长度(字符数)。
String
substring(int start)
返回一个新的
String
,它包含此字符序列当前所包含的字符子序列。 String
substring(int start,
int end)
返回一个新的
String
,它包含此序列当前所包含的字符子序列。StringBuffer
replace(int start,
int end, String str)
使用给定
String
中的字符替换此序列的子字符串中的字符。StringBuffer
append(boolean b)
将
boolean
参数的字符串表示形式追加到序列。 StringBuffer
append(char c)
将
char
参数的字符串表示形式追加到此序列。
StringBuffer
append(char[] str)
将
char
数组参数的字符串表示形式追加到此序列。StringBuffer
append(char[] str,
int offset, int len)
char
数组参数的子数组的字符串表示形式追加到此序列。 StringBuffer
append(CharSequence s)
将指定的
CharSequence
追加到该序列。 StringBuffer
append(CharSequence s, int start,
int end)
将指定
CharSequence
的子序列追加到此序列。 StringBuffer
append(double d)
将
double
参数的字符串表示形式追加到此序列。 StringBuffer
append(float f)
将
float
参数的字符串表示形式追加到此序列。 StringBuffer
append(int i)
将
int
参数的字符串表示形式追加到此序列。
StringBuffer
append(long lng)
将
long
参数的字符串表示形式追加到此序列。
StringBuffer
append(Object obj)
追加
Object
参数的字符串表示形式。 StringBuffer
append(String str)
将指定的字符串追加到此字符序列。
StringBuffer
append(StringBuffer sb)
将指定的 StringBuffer 追加到此序列中。
StringBuffer
insert(int offset,
boolean b)
将
boolean
参数的字符串表示形式插入此序列中。 StringBuffer
insert(int offset,
char c)
将
char
参数的字符串表示形式插入此序列中。
StringBuffer
insert(int offset,
char[] str)
将
char
数组参数的字符串表示形式插入此序列中。
StringBuffer
insert(int index,
char[] str, int offset, int len)
将数组参数
str
的子数组的字符串表示形式插入此序列中。 StringBuffer
insert(int dstOffset,
CharSequence s)
将指定
CharSequence
插入此序列中。 StringBuffer
insert(int dstOffset,
CharSequence s, int start,
int end)
将指定
CharSequence
的子序列插入此序列中。 StringBuffer
insert(int offset,
double d)
将
double
参数的字符串表示形式插入此序列中。 StringBuffer
insert(int offset,
float f)
将
float
参数的字符串表示形式插入此序列中。
StringBuffer
insert(int offset,
int i)
将
int
参数的字符串表示形式插入此序列中。 StringBuffer
insert(int offset,
long l)
将
long
参数的字符串表示形式插入此序列中。
StringBuffer
insert(int offset,
Object obj)
将
Object
参数的字符串表示形式插入此字符序列中。 StringBuffer
insert(int offset,
String str)
将字符串插入此字符序列中。
StringBuffer
delete(int start,
int end)
移除此序列的子字符串中的字符。
StringBuffer
reverse()
将此字符序列用其反转形式取代。