有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

字符串文本区域。getText()在Java中工作不正常

我有一个JTextArea,我正试图用textarea做一个愚蠢的测试。getText()

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

当我这样做的时候,我不会在屏幕上看到任何东西,即使我把文本区域留空或者我在里面键入了一些东西

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

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

这里有什么问题


共 (4) 个答案

  1. # 1 楼答案

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

    if(textarea.getText().isEmpty())
    {
        System.out.println("empty string");
    }
    
  2. # 2 楼答案

    比较字符串时,应使用equals而不是==

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

    ==将比较引用,它仅在完全相同的字符串实例的情况下才起作用。如果要检查字符串的内容是否相同,应使用equals方法

  3. # 3 楼答案

    您的代码应该使用。等于():

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

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

  4. # 4 楼答案

    请使用“”。等于(textarea.getText()),而不是引用比较。运算符==比较对象引用