Java參數(shù)按值傳遞示例演示
更新時間:2023年09月11日 14:18:54 作者:翁正存
在Java中,方法參數(shù)的傳遞方式實際上是按值傳遞,接下來通過本文給大家介紹了Java參數(shù)按值傳遞示例演示,需要的朋友可以參考下
在Java中,方法參數(shù)的傳遞方式實際上是按值傳遞。但是,這里需要區(qū)分基本數(shù)據(jù)類型(如 int
, float
, char
等)和引用類型(如對象、數(shù)組等)的值傳遞。
- 按值傳遞:當基本數(shù)據(jù)類型被作為參數(shù)傳遞給方法時,實際上傳遞的是該數(shù)據(jù)類型的值。在方法內部,這個值會被復制到一個新的變量中,因此對這個新變量的任何修改都不會影響到原始變量。
- 按指針傳遞:在Java中,沒有嚴格意義上的按指針傳遞。當對象(或引用類型)作為參數(shù)傳遞給方法時,傳遞的是對象的引用值,而不是對象本身。這個引用值會被復制到方法內部的新變量中,這意味著這兩個引用變量都指向同一個對象。因此,在方法內部對這個新引用變量進行的任何操作都會影響到原始對象。但是,如果在方法內部將新引用變量指向另一個對象(即重新分配),這將不會影響到原始引用變量。
代碼demo:
public class Main { public static void main(String[] args) { int a = 10; modifyInt(a); System.out.println("After modifyInt: " + a); // 輸出: After modifyInt: 10 List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3)); modifyList(list); System.out.println("After modifyList: " + list); // 輸出: After modifyList: [100, 2, 3] resetList(list); System.out.println("After resetList: " + list); // 輸出: After resetList: [100, 2, 3] } public static void modifyInt(int x) { x = 20; } public static void modifyList(List<Integer> list) { list.set(0, 100); } public static void resetList(List<Integer> list) { list = new ArrayList<>(); } }
到此這篇關于Java參數(shù)按值傳遞的文章就介紹到這了,更多相關Java參數(shù)傳遞內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot結合JWT實現(xiàn)用戶登錄、注冊、鑒權
用戶登錄、注冊及鑒權是我們基本所有系統(tǒng)必備的,也是很核心重要的一塊,本文主要介紹了SpringBoot結合JWT實現(xiàn)用戶登錄、注冊、鑒權,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-05-05SpringBoot打War包上傳到阿里云的LINUX服務器的操作方法
這篇文章主要介紹了SpringBoot打War包上傳到阿里云的LINUX服務器,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02spring的事務傳播屬性REQUIRED_NESTED原理
這篇文章主要介紹了spring的事務傳播屬性REQUIRED_NESTED原理,在spring中,要想使用事務中的回滾點,可以使用傳播屬性NESTED,需要的朋友可以參考下2023-05-05SpringMVC異步處理操作(Callable和DeferredResult)
這篇文章主要介紹了SpringMVC異步處理操作(Callable和DeferredResult),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01