swap
class TestSwap
{	
public static void swap(int a,int b){  
   int t=a;  
   a=b;   
   b=t;   
}   
public static void main(String args[]){  
int x=2;   
int y=3;   
swap(x,y);   
System.out.println(x);
}   
}  
这样的程序交换顺序后交换的结果不是保存不下来吗,怎样才能让x和y的值交换呢让输出结果为3呢
------解决方案--------------------[code=Java][/code]
public class TestSwap {
	public static void main(String args[]) {		
		Integer a=new Integer(2);
		Integer b=new Integer(3);		
		ObjectChange ob=new ObjectChange(a,b);
		ob.change();
		System.out.println("a= "+a.intValue()+"  b="+b.intValue());
		System.out.println("a= "+ob.getA()+"  b="+ob.getB());		
	}
}
class ObjectChange{
	private Integer a;
	private Integer b;
	public ObjectChange(Integer a, Integer b) {
		super();
		this.a = a;
		this.b = b;
	}	
	public Integer getA() {
		return a;
	}
	public void setA(Integer a) {
		this.a = a;
	}
	public Integer getB() {
		return b;
	}
	public void setB(Integer b) {
		this.b = b;
	}
	public void change(){
		Integer temp;
		temp=a;
		a=b;
		b=temp;		
	}
}
------解决方案--------------------Java中传参的方式是传值不传址,要实现swap函数也不是不可能,但很繁琐,最终写出的代码已经偏离这个函数的初衷
难怪有人戏称:“伟大的java就这么否决了swap函数”
------解决方案--------------------一般就使用数组方式,或者写一个辅助类,挺麻烦的.