Java检查两个JTextField是否具有相同的内容

时间:2013-10-02 07:18:40

标签: java swing jtextfield gettext

我有两个JTextFields txf1和txf2。

在两者中我输入相同的内容(例如:“test”)。

我做了和If声明:

if (txf1.getText() == txf2.getText()) {
    System.out.println("Equal");
} else {
    System.out.println("Error");
}

为什么打印出错误信息?我甚至做了一个System.out.println(txf1.getText())System.out.println(txf2.getText()),看起来相同,但打印出错误信息?

3 个答案:

答案 0 :(得分:1)

Java中的字符串比较是使用String#equals完成的,使用==表示您正在比较对象的内存引用,当您认为它应该时,它们不会总是返回true

尝试更像......

if (txf1.getText().equals(txf2.getText())) {

...代替

答案 1 :(得分:1)

此外,您可以使用此良好做法,使您的文本框条目有效。

if (txf1.getText().trim().equals(txf2.getText().trim())) {

答案 2 :(得分:0)

使用equals方法比较字符串。 ==仅比较对象引用。 equals比较字符串的实际内容。

您的代码应该是这样的:

if (txf1.getText().equals(txf2.getText())) {
  System.out.println("Equal");
} else {
  System.out.println("Error");
}