[英]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.