public class Transfer {
public static void main(String[] args){
String i="AA";
String j="BB";
TransferRan unper=new TransferRan();
unper.swap(i, j);
System.out.println("i="+i+",j="+j);}
public void swap(String i,String j){
String temp=i;
i=j;
j=temp;
}
}
交换了,但是没完全交换。
你这样写的话,交换的是 swap
函数里面的 i
和 j
,,当调用完以后两个变量的内存就被回收了,并不会改变 main
函数中的 i
和 j
。
实现方法可以看看这个帖子,这也是Java和C/C++区别很大的一个地方:Java没有指针。
你可以把两个字符串变量设置为静态的,就可以实现交换,就是用static修饰,放到main函数上边,这个变量就属于全局变量,所有的方法都能对其修改。