欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java的傳引用和傳副本

Java中存在兩種傳參方式,分別是傳引用和傳副本。下面我們來(lái)詳細(xì)了解一下這兩種傳參方式的區(qū)別以及使用場(chǎng)景。

1. 傳副本

public void test(int num) {
num = num + 1;
System.out.println("在函數(shù)內(nèi)部num的值為:" + num);
}
public static void main(String[] args) {
int num = 1;
System.out.println("傳參前num的值為:" + num);
test(num);
System.out.println("傳參后num的值為:" + num);
}

上面的例子就是傳副本的方式,在函數(shù)內(nèi)部對(duì)num進(jìn)行修改并不會(huì)影響到函數(shù)外部num的值,因?yàn)楹瘮?shù)內(nèi)部操作的是副本。

2. 傳引用

public void test(StringBuilder builder) {
builder.append(" World");
System.out.println("在函數(shù)內(nèi)部builder的值為:" + builder.toString());
}
public static void main(String[] args) {
StringBuilder builder = new StringBuilder("Hello");
System.out.println("傳參前builder的值為:" + builder.toString());
test(builder);
System.out.println("傳參后builder的值為:" + builder.toString());
}

上面的例子就是傳引用的方式,在函數(shù)內(nèi)部對(duì)builder進(jìn)行修改會(huì)影響到函數(shù)外部builder的值,因?yàn)楹瘮?shù)內(nèi)部操作的是引用。

總結(jié):

傳副本適合數(shù)據(jù)量較小,數(shù)據(jù)不需要頻繁修改的情況下使用,因?yàn)閭鬟f過(guò)程比較快;傳引用適合數(shù)據(jù)量較大,數(shù)據(jù)需要頻繁修改的情況下使用,因?yàn)閭鬟f過(guò)程比較耗時(shí),而且如果使用傳副本的方式會(huì)占用大量的內(nèi)存。