一.概念
-
String
类似于OC的NSString
,则也会有与之对应的可变字符串在Java里面对应OC的NSMutableString
的是StringBuffer 和 StringBuilder
。
-
StringBuffer 和 StringBuilder
相较于String
,可以被多次的修改,并且不产生新的未使用对象。
-
StringBuffer 和 StringBuilder
最大的不同是StringBuilder
的方法不是线程安全的(不能同步访问),但是具有速度上的优势,所以多数情况下建议采用。
二.方法
//构造一个没有字符的字符串构建器,初始容量为16个字符。
StringBuilder()
//构造一个包含与指定的相同字符的字符串构建器 CharSequence。
StringBuilder(CharSequence seq)
//构造一个没有字符的字符串构建器,由 capacity参数指定的初始容量。
StringBuilder(int capacity)
//构造一个初始化为指定字符串内容的字符串构建器。
StringBuilder(String str)
//boolean int double float long char char[] charSequence String Object
public StringBuilder append(参数类型 var)
//追加对应位置的字符
public StringBuilder append(char[] var, int offset, int len)
//boolean int double float long char char[] charSequence String Object
public StringBuilder insert(int offset, 参数类型 var)
//插入对应位置的字符
public StringBuilder insert(int offsetS, char[] var2, int offsetC, int len)
public StringBuilder replace(int offset, int length, String var)
public StringBuilder reverse()
public StringBuilder delete(int offset, int len);
String toString()
三.代码
//创建的同时先准备好6个字符的的空间,也可以为空,明确大小会很快
StringBuilder sb = new StringBuilder(6);
//末尾追加-重载
sb.append(1);
System.out.println(sb);
sb.append('I');
System.out.println(sb);
sb.append(" love Android");
System.out.println(sb);
//插入-重载
sb.insert(1,':');
System.out.println(sb);
//替换
sb.replace(0,2,"");
int start = sb.indexOf("Android");
int end = start+"Android".length();
sb.replace(start,end,"you");
System.out.println(sb);
//反转
sb.reverse();
System.out.println(sb);
//删除
sb.delete(0,3);
System.out.println(sb);
//运行结果
1
1I
1I love Android
1:I love Android
I love you
uoy evol I
evol I
网友评论