簡體   English   中英

我是否需要做一些特殊的事情才能將替換方法與符號一起使用?

[英]Do I need to do something special to use the replace method with symbols?

這是一些代碼

private String replaceToEncrypt(String password) {
    password.replace('A','@');
    password.replace('E','=');
    password.replace('I','!');
    password.replace('J','?');
    password.replace('O','*');
    password.replace('P','#');
    password.replace('R','&');
    password.replace('S','$');
}

使用print語句似乎沒有任何反應,因為此方法之前的ABCDEFGHIJKLMNOPQRSTUVWXYZ是ABCDEFGHIJKLMNOPQRSTUVWXYZ之后

謝謝

您必須重新分配每個替換的結果,例如:

password = password.replace('A','@');

這是因為Java中的所有字符串都是不可變的,並且任何修改字符串實際操作的操作都會返回帶有修改的新字符串,原始字符串保持不變。

根據Java 7 API replace()

返回一個新字符串,該字符串是使用newChar替換此字符串中所有出現的oldChar。

因此,在您的代碼中,您需要重新分配新字符串的密碼:

password = password.replace('A','@');
//etc...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM