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

Mengapa Kaedah Ganti Rentetan Java Saya Tidak Berfungsi?

Susan Sarandon
Lepaskan: 2024-11-26 04:16:12
asal
722 orang telah melayarinya

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());
}
Salin selepas log masuk

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());
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan