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ù)類型的值。在方法內(nèi)部,這個值會被復(fù)制到一個新的變量中,因此對這個新變量的任何修改都不會影響到原始變量。
- 按指針傳遞:在Java中,沒有嚴格意義上的按指針傳遞。當對象(或引用類型)作為參數(shù)傳遞給方法時,傳遞的是對象的引用值,而不是對象本身。這個引用值會被復(fù)制到方法內(nèi)部的新變量中,這意味著這兩個引用變量都指向同一個對象。因此,在方法內(nèi)部對這個新引用變量進行的任何操作都會影響到原始對象。但是,如果在方法內(nèi)部將新引用變量指向另一個對象(即重新分配),這將不會影響到原始引用變量。
代碼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<>();
}
}到此這篇關(guān)于Java參數(shù)按值傳遞的文章就介紹到這了,更多相關(guān)Java參數(shù)傳遞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java向上轉(zhuǎn)型與向下轉(zhuǎn)型超詳細圖解
我們在Java編程中經(jīng)常碰到類型轉(zhuǎn)換,對象類型轉(zhuǎn)換主要包括向上轉(zhuǎn)型和向下轉(zhuǎn)型,這篇文章主要介紹了Java向上轉(zhuǎn)型與向下轉(zhuǎn)型的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-04-04
SpringCloud學(xué)習(xí)筆記之OpenFeign進行服務(wù)調(diào)用
OpenFeign對feign進行進一步的封裝,添加了springmvc的一些功能,更加強大,下面這篇文章主要給大家介紹了關(guān)于SpringCloud學(xué)習(xí)筆記之OpenFeign進行服務(wù)調(diào)用的相關(guān)資料,需要的朋友可以參考下2022-01-01
java中double強制轉(zhuǎn)換int引發(fā)的OOM問題記錄
這篇文章主要介紹了java中double強制轉(zhuǎn)換int引發(fā)的OOM問題記錄,本文給大家分享問題排查過程,感興趣的朋友跟隨小編一起看看吧2024-10-10

