为什么我不能将TextArea中的文本与String进行比较?

Isa*_*lor 0 java string if-statement jbutton jtextarea

所以我显然遗漏了一些完全明显的东西.我有一个按钮和一个动作助手连接到它.当我单击按钮时,我想运行一个if语句,它接受TextArea的内容并将其与String进行比较.喜欢如此:

String a = "hello";
JTextArea area = new JTextArea("type something");
JButton button = new JButton("Go");

button. [insert actionlistener crap]

    //here's the important part:
    if (area.getText() == "hello"){
        //this will not be executed
    }
Run Code Online (Sandbox Code Playgroud)

这真的很奇怪.我甚至通过调试器和那个if语句,这两个项目都是"你好".但它会跳过它!我究竟做错了什么?

编辑:很多人都在说"使用.equals".谁能告诉我为什么?

pet*_*rov 5

你应该这样做area.getText(),这是一种方法,而不是一种财产.

你也应该与他们比较equals不会==.

所以

"hello".equals(area.getText())
Run Code Online (Sandbox Code Playgroud)

是要走的路.