求教!!!

hujing2876 2005-12-03 10:08:28
public class Test{
public static void stringReplace(String text){
text=text.replace('j','l');
}
public static void bufferReplace(StringBuffer text){
text=text.append("a");
}
public static void main(String args[]){
String textString=new String("java");
StringBuffer textBuffer=new StringBuffer("java");
stringReplace(textString);
bufferReplace(textBuffer);
System.out.println(textString);
}
}

这个程序运行后是
javajavaa
为什么不是
lavajavaa?
StringBuffer和String又有什么区别?
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SensiblesImon 2005-12-03
  • 打赏
  • 举报
回复
learned
火山企鹅 2005-12-03
  • 打赏
  • 举报
回复
楼主错误的理解了java中函数的参数的概念,在你的函数中虽然改变了参数的值,但是该值的作用范围只在函数体内,也就是说,出了函数体,这个值就是不可见也是无效的,所以无论你怎么调用你的函数,最终输出的值都不会改变。
xpzheng 2005-12-03
  • 打赏
  • 举报
回复
public static void stringReplace(String text){
text=text.replace('j','l');
}
这是一个传值的函数,不能在函数里面改变参数的值
要改变的话可以用一个返回值
BurubBiancheng 2005-12-03
  • 打赏
  • 举报
回复
public String replace(char oldChar,char newChar)
Returns:a string derived from this string by replacing every occurrence of oldChar with newChar.

public StringBuffer append(char c)
Returns:a reference to this StringBuffer object.

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧