首頁 > Java > java教程 > 主體

為什麼 String 的 `replace` 方法不更新我的 HTML 內容?

Linda Hamilton
發布: 2024-11-12 18:12:01
原創
909 人瀏覽過

Why Doesn't String's `replace` Method Update My HTML Content?

Java 字串替換難題

在嘗試更新字串中的值時,提供的程式碼使用String 的取代方法:

String html = "<html><head></head><body>**USERNAME** AND **PASSWORD**</body></html>";
html.replace("**USERNAME**", "User A");
html.replace("**PASSWORD**", "B");
登入後複製

然而,這種方法並沒有達到預期的效果。為什麼會這樣呢?

字串不可變性

理解這個問題的關鍵在於字串的不可變性。與 Java 中的其他一些物件不同,字串不能就地修改。任何看似改變 String 的操作,例如替換,實際上都會建立一個新的 String 物件。

在給定的程式碼中,replace 呼叫建立新的 String 對象,但引用 html 繼續指向原始 String 。這意味著原始 HTML 內容不會受到替換嘗試的影響。

解決方案:擁抱重新分配

要克服這一不變性障礙,您必須將引用 html 重新分配給透過替換創建的新字串。這是修正後的程式碼:

html = html.replace("**USERNAME**", "User A");
html = html.replace("**PASSWORD**", "B");
登入後複製

透過在每次替換呼叫後重新指派 html,您可以確保它指向包含所需替換的更新後的字串。此方法承認並解決 String 的不變性,以實現廣受歡迎的替換。

以上是為什麼 String 的 `replace` 方法不更新我的 HTML 內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板