淺析java中Integer傳參方式的問題
Java本身都是值傳遞式的調用,對於物件傳遞的是位址值。將位址值重新賦值等於重新指向,不會影響外層。
而且這裡Integer物件也有特殊性。其實實作上可能類似
class Integer{ final int value; //一旦赋值,就不能改变。 }
這就出現:呼叫時傳的位址值不能改變外層+物件本身又不能改變。導致這個值沒法改變
解很多
1、java風格就是,單一值用回傳值。 return i; 外面再i=foo();賦值;多個值用數組或物件。
2、傳遞自己的封裝類別。 class MutableInteger{ int value;}
3、傳遞專用AtomicInteger原子整數物件
public static void main(String[] 参数) { AtomicInteger i=new AtomicInteger(40); i.intValue(); System.out.println(i); } public static void change(AtomicInteger i) { i.set(55); }
也可以實現傳遞後改值,
推薦方案1,盡量避免
更多淺析javajava中Integer參照方式的問題相關文章請關注PHP中文網!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。
