java參數(shù)傳遞之值傳遞和引用傳遞
值傳遞
當(dāng)調(diào)用方法進(jìn)行值傳遞時,方法內(nèi)部會產(chǎn)生一個局部變量,在方法內(nè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ù)時,使用的是與傳入?yún)?shù)同一地址的數(shù)據(jù),在方法內(nèi)部進(jìn)行參數(shù)的修改,會造成原來數(shù)據(jù)的改變(String 類型除外)
String類型數(shù)據(jù)在傳入時,進(jìn)行的操作是在字符串常量池中新建一個字符串,并不影響原先字符串的值
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot使用shiro-整合redis作為緩存的操作
這篇文章主要介紹了springboot使用shiro-整合redis作為緩存的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06使用Springboot自定義轉(zhuǎn)換器實(shí)現(xiàn)參數(shù)去空格功能
這篇文章主要介紹了使用Springboot自定義轉(zhuǎn)換器實(shí)現(xiàn)參數(shù)去空格功能,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08java定時任務(wù)實(shí)現(xiàn)的4種方式小結(jié)
這篇文章主要介紹了java定時任務(wù)實(shí)現(xiàn)的4種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09詳解XML,Object,Json轉(zhuǎn)換與Xstream的使用
這篇文章主要介紹了詳解XML,Object,Json轉(zhuǎn)換與Xstream的使用的相關(guān)資料,需要的朋友可以參考下2017-02-02Java實(shí)現(xiàn)微信公眾號發(fā)送模版消息
大家好,本篇文章主要講的是Java實(shí)現(xiàn)微信公眾號發(fā)送模版消息,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01spring+hibernate 兩種整合方式配置文件的方法
本篇文章主要介紹了spring+hibernate 兩種整合方式配置文件的方法,主要有兩種方式 1、注解方式 2、xml方式實(shí)現(xiàn),有興趣的可以了解一下。2017-04-04