我想通過檢查空值來驗證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