色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java引用傳遞和值傳遞區(qū)別

Java中的傳遞方式可以分為引用傳遞和值傳遞。那么它們有什么不同呢?

// 值傳遞示例
public static void main(String[] args) {
int a = 1;
int b = 2;
swap(a, b);
System.out.println(a);//1
System.out.println(b);//2
}
public static void swap(int num1, int num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
// 引用傳遞示例
public static void main(String[] args) {
int[] arr = {1, 2, 3};
change(arr);
System.out.println(Arrays.toString(arr));//[2, 3, 4]
}
public static void change(int[] array) {
for (int i = 0; i< array.length; i++) {
array[i] += 1;
}
}

在值傳遞中,將對(duì)象的內(nèi)容傳遞給調(diào)用方法,被調(diào)用方法對(duì)數(shù)據(jù)進(jìn)行操作,但是對(duì)對(duì)象本身沒(méi)有影響。在上面的示例中,調(diào)用swap方法后,a和b的值沒(méi)有變化,因?yàn)樗鼈兪潜粡?fù)制的副本。

而在引用傳遞中,將對(duì)象的地址(即內(nèi)存地址)傳遞給調(diào)用方法。被調(diào)用方法對(duì)對(duì)象進(jìn)行操作,會(huì)影響到原始對(duì)象。在上面的示例中,調(diào)用change方法后,數(shù)組arr的值發(fā)生了改變,因?yàn)樗鼈冎赶虻氖峭粋€(gè)數(shù)組對(duì)象。