為什麼我們在 Java 中不使用 new 來建立字串?
雖然字串在 Java 中確實是對象,但它們的創建方式與其他對象歸因於一種名為字符串駐留的特殊機制。
在Java中,字串文字(用雙引號括起來)會自動駐留。這意味著對同一字串文字的多個引用指向記憶體中的相同 String 物件。因此,使用 new 來建立 String 物件是多餘且不必要的。
例如:
String str1 = "Hello World"; String str2 = "Hello World";
這裡,str1 和 str2 引用同一個 String 對象,即使它們看起來是單獨建立。這是因為 JVM 識別字串文字“Hello World”並檢索內部的 String 物件。
現在,讓我們了解為什麼不建議使用 new 來建立字串:
- 效率: 實習字串文字可提高記憶體消耗和效能。使用 new 時,每次都會建立一個新的 String 對象,導致不必要的物件建立和開銷。
- Singletons: Interning 確保只有一個具有特定值的 String 物件實例存在,使其實際上成為單例。這會導致行為一致並防止意外的物件重複。
- 物件平等: 實習可確保具有相同值的字串文字始終彼此相等。這與 Java 中字串相等的語義一致。
總之,Java 中的字串駐留消除了使用 new 來建立字串的需要,提供了效率優勢,並確保在使用字串文字時行為一致.
以上是為什麼我們應該避免在 Java 中使用 new 建立字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

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