2013-02-13 82 views
-1

我在开始的java课程,我有一条条件语句,我试图检查而不使用if/if else语句。我写了它来检查一个空白的文本字段,但是...它不能正常工作。这是我写的代码的副本,任何人都可以告诉我什么是错的?java条件语句检查

String nameCheck = (nameField.getText() == "")? "Please enter a name" : "Hello, " + nameField.getText(); 
+0

或者,考虑'String#isEmpty' – MadProgrammer 2013-02-13 06:03:21

回答

1

你要替换

nameField.getText() == "" 

nameField.getText().equals(""); 

双等于运算符检查两个字符串完全相同的对象,而 “equals()方法”方法将检查字符串是否具有相同的值。

+0

虽然我同意这会起作用,事实上它确实如此,但我们(班级)还没有涉及到这一点,并且老师对使用代码/语句/语法略微不满我们没有涉及。 – user2067237 2013-02-13 06:10:32

+0

@ user2067237我“相当肯定”老师报道了“等于”。但是,如果没有,你应该了解它并反正使用它。对于非原始值的相等,==总是*不正确*。 (这是一个令人羞愧的事情,这并没有被标记为一个巨大的警告..) – 2013-02-13 06:12:21

+0

大声笑,我敢肯定,她确实掩盖了它,这是完全可能的,我在讲座的这一部分划分了一点 – user2067237 2013-02-13 06:15:22

0
String nameCheck = (nameField.getText().equals(""))? "Please enter a name" : "Hello, " + nameField.getText(); 
1

更好的方法可能是:

String nameCheck = (nameField.getText().trim().length() == 0)? "Please enter a name" : "Hello, " + nameField.getText(); 

这种检查是否字符串为空或全白的空间。