我想通过检查空值来验证Swing表单的某些输入。但是checkFirstName方法总是返回true。因此,例如,如果我将第一个名字留在窗体上,它将返回true,即使该字段为空。Java if语句总是返回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导致firstname字段为空。
'firstname'确实是null还是只是空的?我建议使用Apache Commons中的'StringUtils'类:http://commons.apache.org/lang/api-3.1/org/apache/commons/lang3/StringUtils.html –
你试过'!firstName .isEmpty()'?调试器应该是你最好的朋友... – predi
你可以缩短你的代码。相反'布尔标志=假;如果(contidion){flag = true;} else {flag = false;}返回标志;'使用'返回条件;' – Pshemo