2013-11-25 74 views
0

我无法用我的一块程序,如下所示:覆盖字符串变量的内容,如果变量为空

String degree1 = degree.getText(); 

if(degree1 == ""){ 
    degree1 = "Undergrad";} 

我希望程序得到一个文本框的文本到一个变量,如果该字段为空,改变变量为“本科生”

每当我测试程序,它返回一个空白,而不是内容“本科生”

+1

比较'String'值与'String'的'equals'方法,而不是用''==操作符进行比较。 – rgettman

+0

请注意,您可以使用'if(degree1.isEmpty())' –

+0

哦,该死的,我在查找类似问题时没有看到字符串比较问题。对不起,伙计们,谢谢你的帮助。 –

回答

0

这是因为你正在使用==的字符串比较。改为使用if ("".equals(degree1))

运算符==对引用进行比较,即对同一对象只返回true。如果2个对象是等于但不相同==返回false。这就是为什么类Object包含方法equals(),可以(通常应该)由子类覆盖。

0

在Java字符串使用String类的equals方法不是==操作符