java中方法內部修改變量說明:
1、對於基本類型參數,在方法體內對參數進行重新賦值,並不會改變原有變量的值。
2、對於引用類型參數,在方法體內對參數進行重新賦予引用,並不會改變原有變量所持有的引用。
3、方法體內對參數進行運算,不影響原有變量的值。
4、方法體內對參數所指向對象的屬性進行操作,將改變原有變量所指向對象的屬性值。
---------------------
public class Main {
private static void getMiddleOne(boolean b, Boolean boo, Boolean[] arr){
b = true; //形參,不會改變原有值
boo = new Boolean(true); //引用變量的直接操作相當於值傳遞,不會改變原來的引用變量
arr[0] = true; //引用變量的屬性的操作,會改變原有引用的屬性,相當於傳址調用
}
//測試
public static void main(String[] args) {
boolean b = false;
Boolean boo = new Boolean(false);
Boolean[] arr = new Boolean[]{false};
getMiddleOne(b, boo, arr);
System.out.println(b);
System.out.println(boo.toString());
System.out.println(arr[0]);
/**
* output:
* false
* false
* true
*/
}
