textarea.getText()在Java中无法正常工作

时间:2011-07-06 08:12:40

标签: java string swing actionlistener jtextarea

我有一个JTextArea,我正在尝试使用textarea.getText()进行愚蠢的测试

if(textarea.getText() == "")
{
    System.out.println("empty string");
}

当我这样做时,即使我将textarea留空或者在其中键入内容,我也不会在屏幕上显示任何内容。

if(textarea.getText() != "")
{
    System.out.println("empty string");
}

但是当我这样做时,我会在所有情况下得到“空字符串”消息。

这里有什么问题?

4 个答案:

答案 0 :(得分:7)

比较字符串时,您应使用equals代替==

if("".equals(textarea.getText()))
{
   System.out.println("empty string");
}

==将比较引用,它只会在完全相同的String实例的情况下工作。如果要检查String的内容是否相同,则应使用equals方法。

答案 1 :(得分:3)

您的代码应使用.equals():

if(textarea.getText().equals(""))
{
    System.out.println("empty string");
}

==比较对象引用而不是对象值

答案 2 :(得分:2)

或者,您可以在这种情况下使用isEmpty方法:

if(textarea.getText().isEmpty())
{
    System.out.println("empty string");
}

答案 3 :(得分:1)

请使用“”.equals(textarea.getText())而不是参考比较。 Operator ==比较对象引用。