java編程問題?
java數(shù)組作為參數(shù)傳遞,涉及到j(luò)ava中的值傳遞和引用傳遞。
expand方法中新建了一個(gè)新的數(shù)組newArray,通過arraycopy方法,把數(shù)組參數(shù)a的值復(fù)制到數(shù)組newArray,然后采用“=”重新把數(shù)組newArray賦給數(shù)組a,此時(shí)是把數(shù)組newArray的引用地址賦給了數(shù)組a,使得數(shù)組a指向了數(shù)組newArray的值,改變的是引用地址,而不是改變數(shù)組a的值,此時(shí)數(shù)組a和原數(shù)組a1是沒有什么關(guān)系的,這是一種引用傳遞。
change方法是修改數(shù)組參數(shù)a中的值,而數(shù)組a引用地址指向的值和原數(shù)組a1是一樣的。故修改數(shù)組a的值就相當(dāng)于修改數(shù)組a1的值,是屬于值傳遞。