Я пытаюсь создать систему входа в систему в JavaFX, и мне нужно проверить, чтобы строка для textArea, соответствующая электронной почте, совпадала с переменной электронной почты в моем классе User. Однако метод, который я использую для сравнения строки в textArea с пользовательскими данными, всегда возвращает false. Я не уверен почему. Я пробовал .equals (), .compareTo, даже .charAt () и протестировал его с 1 буквой, и он все равно вернул бы false.
Вот мой код для метода. Обратите внимание, что это метод, который я использую для сравнения строки в textArea со строкой в User.getEmail.
public boolean checkCredentials()
{
return text1.getText().equals(user.getEmail());
}
А вот мой код для метода .getEmail () в моем классе User:
private String email = "1";
public String getEmail()
{
return email;
}
Кроме того, даже запустив это с вводом в textArea как "1" и строкой Email в моем пользовательском классе как "1", я все равно получаю ложное возвращение:
public boolean checkCredentials()
{
return text1.getText().length() == user.getEmail().length();
}
Я предполагаю, что где-то строка из textArea имеет нечто "лишнее", чем строка в классе User. Я попытался распечатать длину обеих строк, и я получил один и тот же ответ.
Минимальный код, необходимый для повторного создания, ПРИМЕЧАНИЕ Необходимо установить JavaFX и использовать шаблон приложения JavaFX:
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application
{
Stage window;
Scene scene1;
String sEmail;
// TextBoxes Dec.
TextArea text1 = new TextArea();
public static void main(String[] args)
{
launch(args);
}
public boolean checkCredentials()
{
return text1.getText().equals(sEmail);
}
@Override
public void start(Stage primaryStage)
{
window = primaryStage;
sEmail = "1";
// TextBoxes Ini.
text1.setMaxWidth(200);
text1.setMaxHeight(25);
text1.setMinHeight(25);
// Button
Button button1 = new Button("Check string");
if(checkCredentials())
{
button1.setOnAction(e -> System.out.println("The email is correct"));
}
else
{
button1.setOnAction(e -> System.out.println("The email is NOT correct"));
}
// Layout1
VBox layout1 = new VBox(20);
layout1.setAlignment(Pos.CENTER);
layout1.getChildren().add(text1, button1);
scene1 = new Scene(layout1, 750, 500);
window.setScene(scene1);
window.setTitle("Hello");
window.show();
}
}