Почему мое заявление IF ELSE по умолчанию задом наперед? - PullRequest
0 голосов
/ 10 апреля 2020

Я очень смущен тем, почему это происходит. Когда я запускаю этот код и оставляю поле txtFirstName пустым, оно возвращает true, хотя явно не должно.

@FXML
private void signUp(ActionEvent event) {

    if (txtFirstName.getText() != null) {

        Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
        alert.setTitle("IT WORKS");
        alert.setHeaderText("IT WORKS!");
        alert.setContentText("IT WORKS!!!!!");
        alert.showAndWait();

    } else {

        Alert alert = new Alert(Alert.AlertType.WARNING);
        alert.setTitle("Warning");
        alert.setHeaderText("There was a problem creating your account");
        alert.setContentText("Please fill out every field with the minimum requirements!");
        alert.showAndWait();
    }

}

Когда я вписываю значение в поле First Name, я получаю инструкцию else, когда Я должен получить заявление if ... Я безумен или это задом наперед?

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

Вы можете использовать http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#isEmpty - java .lang.CharSequence-

Или написать собственную проверку, что строка не равна нулю и имеет несколько символов.

Вы также можете оформить заказ StringUtils # isBlank

1 голос
/ 10 апреля 2020

Предполагая, что ваше поле имени является строкой, вы можете использовать

txtFirstName.getText().isEmpty();

Надеюсь, что это решит ваш вопрос!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...