String 和 StringBuffer问题
public static void stringreplace(String text){
text = text.replace('j','i');
}
public static void bufferreplace(StringBuffer text){
text = text.append("c");
}
public static void main(String arg[]){
String textstring = new String("java");
StringBuffer textbuffer = new StringBuffer("java");
stringreplace(textstring);
bufferreplace(textbuffer);
System.out.println(textstring+textbuffer);
}
为什么输出的是javajava?而不是javajavac?
问题点数:20、回复次数:5Top
1 楼LoveRose(旺旺)回复于 2003-11-03 10:52:04 得分 0
函数没有起到作用
传的只是值,没有改变Top
2 楼newsoldier(void)回复于 2003-11-03 11:03:51 得分 0
gzTop
3 楼jackyyp(elena)回复于 2003-11-03 11:25:04 得分 20
不会啊!输出是javajavac啊!我刚测试过,StringBuffer的确会改变它的值Top
4 楼LoveRose(旺旺)回复于 2003-11-03 11:33:34 得分 0
我的失误
stringbuffer是mutable,可以改变的
string是immutable,不可改变的Top
5 楼kofwr(搭补流二)回复于 2003-11-03 11:46:43 得分 0
String类型是不可变的,就是说,你的实例变量通过stringreplace后,还是初始的那个值java,但是bufferString则不是这样……原因是String xxx="";这种设计当初是一种享元模式Top
相关问题
- String和StringBuffer的问题
- String和StringBuffer的区别!?!糊了
- String 和 StringBuffer的效率问题
- 关于string和stringbuffer的问题!
- 请问String和StringBuffer有什么区别?
- 各位高手:String 和 StringBuffer这两个类有什么区别。
- 出学JAVA,关于String和StringBuffer的问题.
- String与StringBuffer的区别
- 请问string 和stringbuffer class 有什么区别,用途有什么不同?
- "2005-10-11" 如何转换成 Date 类型? StringBuffer 和 String类的区别在哪?




