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".谁能告诉我为什么?
你应该这样做area.getText(),这是一种方法,而不是一种财产.
你也应该与他们比较equals不会==.
所以
"hello".equals(area.getText())
Run Code Online (Sandbox Code Playgroud)
是要走的路.