我正在处理一个带有注册表单的项目。表格要求用户 在JPassword字段中输入他们选择的密码,并在另一个JPassword字段中再次输入密码。
我正在使用JOptionPane来提示用户密码是否不匹配。但是当我在两者上使用passwordField.getPassword()。toString()时,它们不匹配。 我试过在两者上输入一个基本的“12345”,但我仍然没有运气。
我知道你应该使用.equals(),但是如果没有使用“!=”运算符,那么对于“not 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);
}
对此的任何帮助将不胜感激。
答案 0 :(得分:1)
与!=
相关的equals()
用于字符串比较,由!x.equals(y)
表示
举个例子,我们可以看一下代码,看看两个密码不是是否匹配如下:
if (!Arrays.equals(passwordField.getPassword(), passwordFieldTwo.getPassword())) {
JOptionPane.showMessageDialog(null, "Passwords do not match.", "Woops", JOptionPane.ERROR_MESSAGE);
}