JLabel没有与字符串比较

时间:2013-11-14 23:46:33

标签: java string if-statement compare jlabel

我将检查JLabel是否与电视节目的名称相同。

我有代码

public int lastEp() {
    if(name.getText() == "Dexter") {
        switch (season) {
        case 1:
            return 12;
        case 2:
            return 12;
        // etc.
        }
    }
    return -1;
}

我已经在控制台中检查了我从name.getText()获得的内容,并且控制台打印出“Dexter”。 我的if语句仍然不会返回true。 System.out.println(name.getText() == "Dexter")给出错误,而System.out.println(name.getText() + " " + "Dexter")给出“Dexter Dexter”。 发生了什么事?

同样是奖金问题,如果有人知道我应该返回什么而不是-1,如果没有其他选项适合,如果有一个很好的标准可以遵循。

1 个答案:

答案 0 :(得分:1)

这是一个扩展评论,问题应该关闭

Java中的

StringString#equals而非==

进行比较

例如,

"Dexter".equals(name.getText())

您当前正在比较对象(内存)引用,它的变化很少相等

查看Strings小道了解更多详情