Rumah >Java >javaTutorial >Mengapa Kaedah Ganti Rentetan Java Saya Tidak Berfungsi?

Mengapa Kaedah Ganti Rentetan Java Saya Tidak Berfungsi?

Susan Sarandon
Susan Sarandonasal
2024-11-26 04:16:12688semak imbas

Why Isn't My Java String Replace Method Working?

Menyelesaikan Masalah Java String Replace Isu

Apabila bekerja dengan rentetan Java, penting untuk diingat bahawa rentetan tidak boleh diubah. Ini bermakna bahawa sebarang perubahan yang dibuat pada rentetan mencipta objek rentetan baharu dan bukannya mengubah suai yang sedia ada.

Pertimbangkan kod berikut:

String delimiter = "\*\*";
String html = "<html><head></head><body>**USERNAME** AND **PASSWORD**</body></html>";
Map<String, String> mp = new HashMap<String, String>();
mp.put("USERNAME", "User A");
mp.put("PASSWORD", "B");
for (Entry<String, String> entry : mp.entrySet()) {
  html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());
}

Anda mungkin menjangkakan kod ini menggantikan " USERNAME" dan "PASSWORD" ruang letak dalam rentetan HTML dengan nilai daripada peta. Walau bagaimanapun, ini tidak berlaku kerana kaedah replace() tidak mengubah suai rentetan sedia ada. Sebaliknya, ia mencipta rentetan baharu dengan penggantian dibuat.

Untuk menyelesaikan isu ini, anda perlu menetapkan rentetan baharu kepada pembolehubah html:

html = html.replace(delimiter + entry.getKey()+ delimiter, entry.getValue());

Dengan melakukan ini, anda' akan mencipta rentetan baharu yang merangkumi penggantian dan menetapkannya kepada rujukan html. Dengan cara ini, perubahan akan ditunjukkan dalam rentetan html asal.

Atas ialah kandungan terperinci Mengapa Kaedah Ganti Rentetan Java Saya Tidak Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn