s1之所以输出不是java,是因为在show中执行的s1=s2;并不会改变实参s1的内容,因为改变的只是引用。
解决方案 »
- 用set theory 计算两个日期内的天数
- 大家帮帮我,我的Eclipse总是出现以下提示,启动不了。
- 请教各位,关于接收到的UDP数据包的字节序问题
- ***************发布大量精品代码,源码,开发工具,同时寻求java斑竹!*************
- [请教]关于java类库学习的问题
- 如何在eclipse下快速开发servlet
- 请教一下:在Java中计算汉字长度的问题?
- 求助,关于Jar文件的动态装入
- 高分相赠!!!!!!!!!!无法读取blob数据,急!!!!!!!!!!!!!!!!!!!!!!!!
- 谁能给我发一个JB7的注册压缩包?急用。
- Java 取反~运算符疑惑
- 变量的自增问题!
static StringBuilder s1;
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; }
}
这样改动后,就能输出:
java.......java
s1 = s2; //改变的是s1的引用值即引用对象的地址,离开方法后修改无效;