我正在做一個密碼檢查,必須符合某些要點。有兩個用於密碼確認的文本字段,並且由於某種原因,當兩個密碼都符合所有內容並且相同時,它會進入「密碼不匹配」,即使他們這樣做,我也無法弄清楚原因!幫助讚賞。密碼檢查不工作 - Java
public boolean passwordCheck(String password1, String password2) {
boolean valid = false;
do {
if(password1.length()>20) {
errorLabel.setText("* Password is too long");
System.out.println("Password is too long");
valid = false;
break;
} else if (password1.length()<4) {
errorLabel.setText("* Password is too short");
System.out.println("Password is too short");
valid = false;
break;
} else if (password1 != password2) {
System.out.println(password1 + "==" + password2);
errorLabel.setText("* Passwords do not match!");
System.out.println("Password do not match!");
valid = false;
break;
} else if (password1 == password2){
valid = true;
}
} while (!valid);
System.out.println("outside the loop" + valid);
return valid;
}
比較字符串與'.equals()'完成。使用'==',對於引用類型,您只需檢查兩個變量是否指向相同的內存位置。 –