例如StringBuffer s=new StringBuffer("aaaa");想通过某个方法或者简单的处理实现改变字符串成为aabbaajava里有什么方法可以实现么?substring(0,2) +"bb" +substring(2,4)这样的方法就不用了。如果StringBuffer不好操作用String实现也可以,望高人指教!
insert
public StringBuffer insert(int offset,
String str)将字符串插入此字符序列中。
按顺序将 String 参数中的字符插入此序列中的指定位置,将该位置处原来的字符向后移,此序列将增加该参数的长度。如果 str 为 null,则向此序列中追加 4 个字符 "null"。
新字符序列在索引 k 处的字符有以下几种情况:
如果 k 小于 offset,则等于原字符序列中索引 k 处的字符。
如果 k 不小于 offset 但小于 offset+str.length(),则等于 str 参数中索引 k-offset 中的字符。
如果 k 不小于 offset+str.length(),则等于原字符序列中索引 k-str.length() 处的字符
offset 参数必须大于等于 0,且小于等于此序列的长度。
参数:
offset - 偏移量。
str - 一个 string。
返回:
此对象的一个引用。
抛出:
StringIndexOutOfBoundsException - 如果 offset 参数无效。
另请参见:
length()
public StringBuffer insert(int offset,
String str)将字符串插入此字符序列中。
按顺序将 String 参数中的字符插入此序列中的指定位置,将该位置处原来的字符向后移,此序列将增加该参数的长度。如果 str 为 null,则向此序列中追加 4 个字符 "null"。
新字符序列在索引 k 处的字符有以下几种情况:
如果 k 小于 offset,则等于原字符序列中索引 k 处的字符。
如果 k 不小于 offset 但小于 offset+str.length(),则等于 str 参数中索引 k-offset 中的字符。
如果 k 不小于 offset+str.length(),则等于原字符序列中索引 k-str.length() 处的字符
offset 参数必须大于等于 0,且小于等于此序列的长度。
参数:
offset - 偏移量。
str - 一个 string。
返回:
此对象的一个引用。
抛出:
StringIndexOutOfBoundsException - 如果 offset 参数无效。
另请参见:
length()
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-10-26
public static void main(String[] args) {
StringBuffer s1 = new StringBuffer("abc");//定义一个StringBuffer
s1.insert(1,"56");//追加
String s3=s1.toString();//将StringBuffer转化为String
String s2="kk";
System.out.println(s2+s3);
//结果:kka56bc
}
StringBuffer s1 = new StringBuffer("abc");//定义一个StringBuffer
s1.insert(1,"56");//追加
String s3=s1.toString();//将StringBuffer转化为String
String s2="kk";
System.out.println(s2+s3);
//结果:kka56bc
}
第2个回答 2011-10-20
StringBuilder a = new StringBuilder("enfekfe");
a.insert(2, "??");
结果:en??fekfe
a.insert(2, "??");
结果:en??fekfe
第3个回答 2011-10-27
StringBuffer a = new StringBuffer("123");
a.insert(1, "aaa");
System.out.print(a);
a.insert(1, "aaa");
System.out.print(a);