java參數(shù)傳遞之值傳遞和引用傳遞
值傳遞
當(dāng)調(diào)用方法進(jìn)行值傳遞時(shí),方法內(nèi)部會(huì)產(chǎn)生一個(gè)局部變量,在方法內(nèi)部使用局部變量的值,并不影響傳入原來(lái)數(shù)據(jù)的值,包括在使用基本數(shù)據(jù)類型的包裝類。
public class Assc
{
public static void main(String[] args)
{
int x1=1;
add(x1);
System.out.println("最終"+x1);//1
Integer x2=new Integer(1);
sub(x2);
System.out.println("最終"+x2);//1
}
public static void add(int x) {
x++;
System.out.println(x); //2
}
public static void sub(Integer x) {
x--;
System.out.println(x);//0
}
}
引用傳遞
當(dāng)調(diào)用方法時(shí)使用引用類型參數(shù)時(shí),使用的是與傳入?yún)?shù)同一地址的數(shù)據(jù),在方法內(nèi)部進(jìn)行參數(shù)的修改,會(huì)造成原來(lái)數(shù)據(jù)的改變(String 類型除外)
String類型數(shù)據(jù)在傳入時(shí),進(jìn)行的操作是在字符串常量池中新建一個(gè)字符串,并不影響原先字符串的值
public class Assc
{
public static void main(String[] args)
{
String str="hello";
combine(str);
System.out.println("最終"+str);//hello
StringBuilder sb=new StringBuilder("nihao");
combine2(sb);
System.out.println("最終"+sb);//nihaoworld
}
public static void combine(String str) {
str+="world";
System.out.println(str);//helloworld
}
public static void combine2(StringBuilder str) {
str.append("world");
System.out.println(str);//nihaoworld
}
}
到此這篇關(guān)于java參數(shù)傳遞之值傳遞和引用傳遞的文章就介紹到這了,更多相關(guān)值傳遞和引用傳遞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA中調(diào)用方法時(shí),如何同步顯示方法的注釋信息
這篇文章主要介紹了IDEA中調(diào)用方法時(shí),如何同步顯示方法的注釋信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Spring 重定向(Redirect)指南及相關(guān)策略問(wèn)題
本文介紹了在Spring中實(shí)現(xiàn)重定向的三種不同方法,在執(zhí)行這些重定向時(shí)如何處理/傳遞屬性以及如何處理HTTP POST請(qǐng)求的重定向。關(guān)于Spring 重定向(Redirect)指南的相關(guān)知識(shí)大家參考下本文2017-11-11
Java實(shí)現(xiàn)大文件的分割與合并的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言實(shí)現(xiàn)大文件的分割與合并,以及分割后又再次合并操作,文中示例代碼講解詳細(xì),感興趣的可以了解一下2022-08-08
spring boot 監(jiān)聽容器啟動(dòng)代碼實(shí)例
這篇文章主要介紹了spring boot 監(jiān)聽容器啟動(dòng)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
SpringCloud微服務(wù)調(diào)用丟失請(qǐng)求頭的問(wèn)題及解決方案
在Spring Cloud 中微服務(wù)之間的調(diào)用會(huì)用到Feign,但是在默認(rèn)情況下,Feign 調(diào)用遠(yuǎn)程服務(wù)存在Header請(qǐng)求頭丟失問(wèn)題,下面給大家分享SpringCloud微服務(wù)調(diào)用丟失請(qǐng)求頭的問(wèn)題及解決方案,感興趣的朋友一起看看吧2024-02-02
解決方法A調(diào)用方法B的事務(wù)控制問(wèn)題
這篇文章主要介紹了解決方法A調(diào)用方法B的事務(wù)控制問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之平行志愿管理系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+Springboot+Maven+mybatis+Vue+Mysql開發(fā)的圖片平行志愿管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有志愿管理該有的所有功能,感興趣的朋友快來(lái)看看吧2022-02-02
Java局部?jī)?nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析
這篇文章主要介紹了Java局部?jī)?nèi)部類和匿名內(nèi)部類,結(jié)合實(shí)例形式分析了java局部?jī)?nèi)部類和匿名內(nèi)部類相關(guān)定義、原理與用法,需要的朋友可以參考下2019-08-08

