Java 来自JTextField的getText()返回的内容多于该字段中的内容。使用if-else
我试图给我们一个if-else语句来检查他们是否在TextField中键入了特定的内容,但它永远不会返回true。我怎样才能让它工作,或者有工作可以做Java 来自JTextField的getText()返回的内容多于该字段中的内容。使用if-else,java,string,if-statement,jtextfield,Java,String,If Statement,Jtextfield,我试图给我们一个if-else语句来检查他们是否在TextField中键入了特定的内容,但它永远不会返回true。我怎样才能让它工作,或者有工作可以做 String text = textField.getText(); if(text == "work"){ textArea.append("Text was " + text + newline); textArea.append("If you see this then it worked"
String text = textField.getText();
if(text == "work"){
textArea.append("Text was " + text + newline);
textArea.append("If you see this then it worked");
}else{
textArea.append(text + newline);
}
这将为我显示“工作”
为了方便起见,我使用oracle教程对此进行了测试,以查看我的JTextField
之所以发生这种情况,是因为您不理解或错误理解字符串在Java中的工作原理。 字符串是对象,通常需要使用equals方法比较它们(它们的内容)。因此,您需要在
if
中使用此选项:
// equals will return true if the content of the text field is
// the same as the string used in the comparison, i.e., "work"
if ( text.equals( "work" ) ) {
// do something
}
您的代码不起作用,因为文本字段中的字符串与您在if中使用的字符串“work”不是同一个对象。因此,您需要比较它们的内容,也就是说,您需要验证这两个不同的字符串对象是否具有相同的值
我推荐以下链接:
(您必须阅读整个字符串教程)
这不是官方文件,但可以。请特别注意ITEN 3和ITEN 4