日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java值参_JAVA赋值和传参理解

發(fā)布時(shí)間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java值参_JAVA赋值和传参理解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:Intopass

鏈接:https://www.zhihu.com/question/31203609/answer/50992895

來(lái)源:知乎

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

第一個(gè)例子:基本類型

void foo(int value) {

value = 100;

}

foo(num); // num 沒(méi)有被改變

第二個(gè)例子:沒(méi)有提供改變自身方法的引用類型

void foo(String text) {

text = "windows";

}

foo(str); // str 也沒(méi)有被改變

第三個(gè)例子:提供了改變自身方法的引用類型

StringBuilder sb = new StringBuilder("iphone");

void foo(StringBuilder builder) {

builder.append("4");

}

foo(sb); // sb 被改變了,變成了"iphone4"。

第四個(gè)例子:提供了改變自身方法的引用類型,但是不使用,而是使用賦值運(yùn)算符。

StringBuilder sb = new StringBuilder("iphone");

void foo(StringBuilder builder) {

builder = new StringBuilder("ipad");

}

foo(sb); // sb 沒(méi)有被改變,還是 "iphone"。

第三個(gè)例子中,sb這個(gè)地址指向的是iphone這個(gè)對(duì)象,調(diào)用方法的時(shí)候builder這個(gè)地址也指向了iphone這個(gè)對(duì)象,然后兩個(gè)地址指向的是同一個(gè)對(duì)象,當(dāng)然在方法內(nèi)更改后方法外看到的就跟著更改了。

第四個(gè)例子中,sb這個(gè)地址指向的是iphone這個(gè)對(duì)象,調(diào)用方法的時(shí)候builder這個(gè)地址也指向了iphone這個(gè)對(duì)象,然后執(zhí)行“builder = new StringBuilder("ipad");”的時(shí)候,builder這個(gè)地址指向了ipad這個(gè)對(duì)象,很自然,sb這個(gè)對(duì)象的值沒(méi)有發(fā)生任何變化。

總結(jié)

以上是生活随笔為你收集整理的java值参_JAVA赋值和传参理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。