Javaメソッドでの参照タイプのパラメータ伝達の問題


Javaメソッドのパラメータが基本タイプであれば、値伝達であることはよく知られています.つまり、実パラメータが数値をパラメータに伝達した後、パラメータ対値の操作は実パラメータ変数とは無関係です.例:
public static void change(int a, int b){
	a = a + b; 
}
int c = 1, d = 2;
change(c , d);
このときcが出力され、その値はまだ1である.
参照タイプがパラメータとして使用されている場合:
public static void change(Object a , Object b){
	Object temp = a ;
	a = b;
	b = temp;
}
 
  
 
  
 
  

Object c = new Object();

Object d = new Object();

change(c , d);

, a , c , b d , a、c ,b、d 。 a、b , c、d 、 , , c.xxx = newValue, a、c 。


, ?

change(array[ObjectA] , array[ObjectB]);

, , :

public static void change(Object[] , int indexA , int indexB){//                      
	Object temp = Object[indexA];
	Object[indexA] = Object[indexB];
	Object[indexB] = temp;
}

2つの タイプの の を するのも じ です.