Java检查两个JTextField是否具有相同的内容
我有两个jtext1和txf2字段 在这两种语言中,我输入了相同的内容(例如:“test”) 我发表了以下声明:Java检查两个JTextField是否具有相同的内容,java,swing,jtextfield,gettext,Java,Swing,Jtextfield,Gettext,我有两个jtext1和txf2字段 在这两种语言中,我输入了相同的内容(例如:“test”) 我发表了以下声明: if (txf1.getText() == txf2.getText()) { System.out.println("Equal"); } else { System.out.println("Error"); } 为什么它会打印出错误消息?我甚至制作了一个System.out.println(txf1.getText())和System.out.println(
if (txf1.getText() == txf2.getText()) {
System.out.println("Equal");
} else {
System.out.println("Error");
}
为什么它会打印出错误消息?我甚至制作了一个System.out.println(txf1.getText())
和System.out.println(txf2.getText())
,看起来相同,但打印出错误消息?使用该方法比较字符串<代码>=仅比较对象引用equals
比较字符串的实际内容
您的代码应该是这样的:
if (txf1.getText().equals(txf2.getText())) {
System.out.println("Equal");
} else {
System.out.println("Error");
}
Java中的字符串比较是使用
String#equals
来完成的,使用=
意味着您正在比较对象的内存引用,当您认为应该时,它不会总是返回true
试试更像
if (txf1.getText().equals(txf2.getText())) {
…相反您也可以使用此良好做法,使文本框条目更高效
if (txf1.getText().trim().equals(txf2.getText().trim())) {