实现两个数交换!作者: 郑show 时间: 2013-3-28 10:30
x=1y=2a=1b=2作者: 张昶 时间: 2013-3-28 10:47
public static viod swap(int x,int y){
int temp;
temp = x;
x = y;
y = temp;
} 作者: yufeng47 时间: 2013-3-28 12:01
这个办不到,Java对普通类型的变量是不支持引用传递的,都是值传递,C中的普通类型的传递有一个特殊方法是作为指针来传递,但java中不存在指针,所以实现不了。
Integer是数据包装类,a和b都是引用,这么说应该是按引用传递的,但实际验证却发现,这个说法也是错误的。
网上有这么两个例子:
public class Test {
public static void test(StringBuffer str) {
str.append(", World!");
}
public static void main(String[] args) {
StringBuffer string = new StringBuffer("Hello");
test(string);
System.out.println(string);
}
} 运行结果: