【发布时间】:2012-01-28 01:28:58
【问题描述】:
我有一个带有三个文本框的简单 JFrame:名字、姓氏和电子邮件地址。按下添加按钮后,详细信息将添加到数组列表中。目前我有一组 if 语句来检查用户是否在文本框中输入了一些内容,如下所示:
private void addPersonButtonActionPerformed(java.awt.event.ActionEvent evt) {
String firstName = firstNameTextField.getText();
String lastName = lastNameTextField.getText();
String emailAddress = emailTextField.getText();
if (firstName.equals("")) {
System.out.println("First Name is missing");
} else if (lastName.equals("")) {
System.out.println("Last Name is missing");
} else if (emailAddress.equals("")) {
System.out.println("E-Mail address is missing");
} else if (!Email.isValid(emailAddress)) {
System.out.println("E-Mail address is invalid");
} else {
personArrayList.add(new Person(firstName, lastName, emailAddress));
System.out.println("Person added!");
}
}
但是,我发现 if 语句块太长会使代码难以阅读;它也不会提醒用户多个文本字段为空。有没有更有效的方法来做到这一点?
提前致谢!
【问题讨论】:
-
只有一点:你应该使用
"".equals(yourstring)而不是yourstring.equals(""),如果yourstring由于某种原因附加为空,则不会抛出NPE -
@fge 是的 yoda 编程.. 阅读起来很糟糕,而且真的很适合隐藏错误。如果
getText()突然开始返回空值,最好获得一个很好的例外。
标签: java string if-statement performance