public final class String extends Objectimplements Serializable, Comparable<String>, CharSequence



既然是类,那当然有构造方法啦,有了构造方法就可以创建StringBuffer类的字符串了

| 声明 | 方法描述 |
|---|---|
| StringBuffer() | 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。 |
| StringBuffer(CharSequence seq) | public java.lang.StringBuilder(CharSequence seq) 构造一个字符串缓冲区,它包含与指定的 CharSequence 相同的字符。 |
| StringBuffer(int capacity) | 构造一个不带字符,但具有指定初始容量的字符串缓冲区。 |
| StringBuffer(String str) | 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容 |
创建字符串
StringBuffer sbf = new StringBuffer("java");
这样就创建了一个可变的字符串了
有了对象就可调用方法了,下面就演示一些方法
| 声明 | 方法描述 |
|---|---|
| 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 追加到此序列中。 |
sbf.append("666");// 在末尾追加
System.out.println(sbf);//java666
2.insert
| 声明 | 方法描述 |
|---|---|
| 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) | 将字符串插入此字符序列中。 |
sbf.insert(4,"-"); // 插入
System.out.println(sbf );//java-666
| 声明 | 方法描述 |
|---|---|
| int capacity() | 返回当前容量。 |
| char charAt(int index) | 返回此序列中指定索引处的 char 值。 |
| int codePointAt(int index) | 返回指定索引处的字符(统一代码点)。 |
| int codePointBefore(int index) | 返回指定索引前的字符(统一代码点)。 |
| int codePointCount(int beginIndex, int endIndex) | 返回此序列指定文本范围内的统一代码点。 |
| StringBuffer delete(int start, int end) | 移除此序列的子字符串中的字符。 |
| StringBuffer deleteCharAt(int index) | 移除此序列指定位置的 char。 |
| void ensureCapacity(int minimumCapacity) | 确保容量至少等于指定的最小值。 |
| void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) | 将字符从此序列复制到目标字符数组 dst。 |
| int indexOf(String str) | 返回第一次出现的指定子字符串在该字符串中的索引。 |
| int indexOf(String str, int fromIndex) | 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。 |
| int lastIndexOf(String str) | 返回最右边出现的指定子字符串在此字符串中的索引。 |
| int lastIndexOf(String str, int fromIndex) | 返回最后一次出现的指定子字符串在此字符串中的索引。 |
| int length() | 返回长度(字符数)。 |
| int offsetByCodePoints(int index, int codePointOffset) | 返回此序列中的一个索引,该索引是从给定 index 偏移 codePointOffset 个代码点后得到的。 |
| StringBuffer replace(int start, int end, String str) | 使用给定 String 中的字符替换此序列的子字符串中的字符。 |
| StringBuffer reverse() | 将此字符序列用其反转形式取代。 |
| void setCharAt(int index, char ch) | 将给定索引处的字符设置为 ch。 |
| void setLength(int newLength) | 设置字符序列的长度。 |
| CharSequence subSequence(int start, int end) | 返回一个新的字符序列,该字符序列是此序列的子序列。 |
| String substring(int start) | 返回一个新的 String,它包含此字符序列当前所包含的字符子序列。 |
| String substring(int start, int end) | 返回一个新的 String,它包含此序列当前所包含的字符子序列。 |
| String toString() | 返回此序列中数据的字符串表示形式。(默认) |
| void trimToSize() | 尝试减少用于字符序列的存储空间。 |
StringBuilder和StringBuffer,String一样代表字符串
也是可变字符序列,API与StringBuffer完全一致,就是为了替换StringBuffer
StringBuilder是不保证线程安全,相对StringBuffer在改变字符串时效率较快
如果不考虑线程安全,改变字符建议Builder,如果要求线程安全使用Buffer
StringBuilder 与 StringBuffer 方法完全一致,这里就不在列出了,讲述了,下面总结一下这String,StringBuffer ,StringBuilder 这三个的区别
编写不易,如果感觉有收获的话,点个赞 👍🏻 吧。
❤️❤️❤️本人菜鸟修行期,如有错误,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍