代码之家  ›  专栏  ›  技术社区  ›  Ots Wng

如何将Jtextarea转换为字符串

  •  0
  • Ots Wng  · 技术社区  · 7 年前

    我正在尝试制作聊天机器人,但当我键入时,它总是出现错误:

    if(Write == "hi"){
        Reply.setText("HI!");
    }
    

    它将伴随错误: jtextarea incomparable with String

    我该怎么办?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Damiano    7 年前

    if ("hi".equals(Write.getText()))
    

    顺便说一句 从不 比较字符串与 == 除非您真的希望它们与String类完全相同。

        2
  •  0
  •   Zabuzard Louis-Philippe Lebouthillier    7 年前

    解释

    您不能使用 == . Write 属于类型 JTextArea "hi" 属于类型 String . 这些对象没有共同点,因此编译器抱怨。


    解决方案

    你可能想比较一下 存储在内部的文本 文本区 带文本 “嗨” . 您可以使用 JTextArea#getText 方法( documentation ).

    现在请注意,你永远不应该(除非你知道自己在做什么)进行比较 s通过使用 == . 结果将不是你所期望的。使用 String#equals 相反以下是有关此主题的更多信息: How do I compare strings in Java?

    因此,您的代码可能如下所示:

    if ("hi".equals(Write.getText())) {
        Reply.setText("HI!");
    }
    

    你应该坚持的最后一点 命名约定 小写字符 . 大写仅用于类名(和常量)。所以你应该写 write reply :

    if ("hi".equals(write.getText())) {
        reply.setText("HI!");
    }