java吧 关注:1,294,759贴子:12,827,919
  • 5回复贴,共1

问个有关stringbuffilder的问题!求解答

只看楼主收藏回复

输出的结果不应该是 : java.......java 么
public class Demo3{
public static void main(String[] args) {
StringBuilder s1 = new StringBuilder("hello");
StringBuilder s2 = new StringBuilder("java");
show(s1,s2);
System.out.println(s1+"......."+s2);
}
private static void show(StringBuilder s1, StringBuilder s2) {
s1.append(s2);
s1 = s2;
}
}


1楼2015-12-26 15:27回复
    没人么


    2楼2015-12-26 15:40
    回复
      2026-01-16 01:05:01
      广告
      不感兴趣
      开通SVIP免广告
      来人呐


      3楼2015-12-26 15:44
      回复
        啊哈,这个结果是hello,java,方法执行过后,没返回。。。


        4楼2015-12-26 16:07
        回复
          这个首先你要明白引用类型的变量和基本类型的变量在作为参数传递时候 传的是什么
          引用类型传递的是内存地址,而基本类型传的是值,
          也就是说,这个方法改变了s1的值,方法外的s1与方法内的指向同一个内存地址所以s1被更改了。
          也就是说输出结果是:hellojava·····java


          IP属地:辽宁5楼2015-12-26 16:38
          收起回复