Я работаю над проектом с регистрационной формой. Форма запрашивает у пользователя ввести пароль по своему выбору в поле JPassword и ввести его снова в другое поле JPassword.Как сравнить 2 пароля в java?
Я использую JOptionPane, чтобы запросить пользователя, если пароли не совпадают. но когда я использую passwordField.getPassword(). toString() на двух, они не совпадают. Я попытался ввести базовый «12345», например, на обоих, но мне все еще не повезло.
Я знаю, что вы должны использовать .equals(), но что эквивалентно этому для «не равно» без использования оператора «! =».
вот следующий код.
if(e.getSource() == submit)
{
String name = nameTextField.getText();
String address = addressTextField.getText();
String phoneNumber = numberTextField.getText();
String dob = datePicker.getDateFormatString();
String password = passwordField.getPassword().toString();
String password2 = passwordFieldTwo.getPassword().toString();
try
{
//If the user leaves the field empty
if(name == null || address == null || phoneNumber == null || dob == null
|| password == null || password2 == null)
{
//Error message appears to prompt the user to
//complete the form
JOptionPane.showMessageDialog(null, "All fields must be complete to submit.", "Woops", JOptionPane.ERROR_MESSAGE);
}
if(password != password2)
{
JOptionPane.showMessageDialog(null, "Passwords do not match.", "Woops", JOptionPane.ERROR_MESSAGE);
passwordField.setText(null);
passwordFieldTwo.setText(null);
}
Любая помощь с этим была бы высоко оценена.
'passwordField .getPassword() 'возвращает массив char .calling' toString() 'не дает вам пароль в виде строки. вы можете преобразовать в строку с помощью 'new String();' но вы не хотите. Есть причина, по которой он возвращает его как 'char array' вместо' String'. Прочитайте этот вопрос http://stackoverflow.com/questions/8881291/why-is-char-preferred-over-string-for-passwords-in-java –
Что касается вашего редактирования после того, как вопрос получил обозначение как дубликат: ** Просто используйте '!' Результат '.equals() ', чтобы получить поведение как'! = '. ** – Matt