說(shuō)個(gè)簡(jiǎn)單就能實(shí)現(xiàn)的結(jié)果吧…
使用數(shù)組等對(duì)象是可以達(dá)到類似c#中out類型的效果的
BUT
并非只要傳遞的數(shù)據(jù)是引用類型就是引用傳遞
補(bǔ)點(diǎn)概念
值傳遞
是指在調(diào)用函數(shù)時(shí),將實(shí)際參數(shù)復(fù)制一份傳遞給函數(shù),這樣在函數(shù)中修改參數(shù)時(shí),不會(huì)影響到實(shí)際參數(shù)。
引用傳遞
是指在調(diào)用函數(shù)時(shí),將實(shí)際參數(shù)的地址傳遞給函數(shù),這樣在函數(shù)中對(duì)參數(shù)的修改,將影響到實(shí)際參數(shù)。
注意!
一般來(lái)講,只有修改的值是與傳進(jìn)來(lái)的參數(shù)的地址相同的參數(shù)的值才是引用傳遞,而只有采用引用傳遞的類型的數(shù)據(jù)才能達(dá)到和c#中out修飾類型同樣的效果。
舉個(gè)例子應(yīng)該就明白了
示例
代碼
public static void main(String[] args) {
String[] strArr={"張三"};
System.out.println(strArr[0]);
changeValue(strArr);
System.out.println(strArr[0]);
System.out.println("=========================");
System.out.println(strArr[0]);
changeValue2(strArr);
System.out.println(strArr[0]);
}
private static void changeValue2(String[] strArr) {
String[] strArr2={"李四"};
strArr[0]=strArr2[0];
}
private static void changeValue(String[] strArr) {
String[] strArr2={"李四"};
strArr=strArr2;
}
輸出結(jié)果
張三
張三
=========================
張三
李四

image.png