gpt4 book ai didi

Java if 语句总是返回 true

转载 作者:行者123 更新时间:2023-12-01 18:54:06 25 4
gpt4 key购买 nike

我试图通过检查空值来验证 Swing 表单中的某些输入。但是 checkFirstName 方法始终返回 true。因此,例如,如果我在表单上将名字留空,即使该字段为空,它也会返回 true。

这是我的两个方法,第一个方法在用户单击“保存”按钮时触发。

public void saveNewCustomer() throws SQLException, ClassNotFoundException {

boolean dbOK = false;//boolean to check if data input is not null

System.out.println(dbOK);
String firstName = txtNCustomerFirstName.getText();
String lastName = txtNCustomerLastName.getText();

if (checkFirstName(firstName)) {
dbOK = true;
} else {
lblNCustFirstNameError.setText("First Name Must be Entered");
dbOK = false;
}
System.out.println(dbOK);

if (dbOK) {
dbConnector.insertSignup(firstName, lastName);
System.out.println("Success");
} else {
System.out.println("Error");
}
}

public boolean checkFirstName(String firstName) {
boolean allOK = false;
System.out.println(allOK);

if (firstName != null) {
allOK = true;
} else {
allOK = false;
}
return allOK;
}

我是否做错了什么,因为这对我来说应该返回 false,因为名字字段为空。

最佳答案

String 永远不会为 null,String 将为空。检查firstName.isEmpty()。我仍然建议您也保留 null 检查:

public boolean checkFirstName(String firstName) {
boolean allOK = false;
System.out.println(allOK);

if (firstName != null && !firstName.isEmpty()) {
allOK = true;
} else {
allOK = false;
}
return allOK;
}

编辑:正如 Windle 所指出的,您可能想检查字符串是否至少有一个非空白:

if (firstName != null && !firstName.trim().isEmpty())

您还可以执行更复杂的验证 - 例如,如果您想确保修剪后的用户名中没有空格。

关于Java if 语句总是返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14753888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com