我将检查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,如果没有其他选项适合,如果有一个很好的标准可以遵循。
答案 0 :(得分:1)
这是一个扩展评论,问题应该关闭
Java中的 String
与String#equals
而非==
例如,
"Dexter".equals(name.getText())
您当前正在比较对象(内存)引用,它的变化很少相等
查看Strings小道了解更多详情