StringBuilder类(是线程不安全的)
StringBuffer 和 StringBuilder二者及其相似,下面是构造方法:
StringBuilder StringBuilder()创建空对象,空的字符序列
StringBuilder StringBuilder(StringBuilder builder)传入对象创造字符序列
StringBulider StringBuilder(String str)根据字符串创建字符序列(常用)
StringBuilder(int capcity) 指定容器的StringBuilder对象
capacity()取的是可变类(StringBuilder和Buffer)元素个数
方法 | 解释 |
---|---|
StringBuilder(String str) | 根据参数指定字符串构造对象,初始容量:16+字符串的长度 |
StringBuilder insert(int offset,String str) | 将str插入到当前字符串中offset指向的位置上; |
StringBuilder append(String str) | 将str插入到当前字符串的末尾位置 |
StringBuilder delete(int start ,int end) | 将当前字符串中从start(包含)开始到end(不包含)之间的内容移除; |
StringBuilder replace(int start , int end , String str) | 将当前字符串中start到end之间的内容全部用str的内容替换; |
StringBuilder reverse() | 实现字符串的反转; |
StringBuilder substring() | |
StringBuilder indexOf() | |
int capacity() | 用于获取容量并返回 |
int length() | 用户返回字符串的长度 |
该类只重写了toString()方法;
public class StringBuilderTest {//StringBuffer是线程安全的,StringBuilder是线程不安全的public static void main(String[] args) {// TODO Auto-generated method stubStringBuilder sb = new StringBuilder("hello");//字符串的容量和长度System.out.println("容量是:"+sb.capacity());//16+5=21System.out.println("长度是:"+sb.length());//5 //StringBuilder insert(int offset,String str) // — 将str插入到当前字符串中offset指向的位置上;System.out.println("插入后新字符串:"+sb.insert(3,"yes")); // StringBuilder append(String str)// — 将str插入到当前字符串的末尾位置;System.out.println("插入末尾后的新字符串:"+sb.append("world")); // StringBuilder delete(int start ,int end)// — 将当前字符串中从start(包含)开始到end(不包含)之间的内容移除;System.out.println("删除后的新字符串:"+sb.delete(2, 4)); // StringBuilder replace(int start , int end , String str)// — 将当前字符串中start到end之间的内容全部用str的内容替换;System.out.println("替换内容后的新字符串:"+sb.replace(2, 4, "XXOO")); // StringBuilder reverse()// — 实现字符串的反转;System.out.println("反转后的新字符串:"+sb.reverse()); // StringBuilder substring()System.out.println("下标2的新字符:"+sb.substring(2)); // StringBuilder indexOf()// — 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。System.out.println("从下标2开始查找的字符“l”出现的位置:"+sb.indexOf("l",2));} }