【发布时间】:2013-11-14 23:46:32
【问题描述】:
我将检查 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 如果没有其他选项适合,如果有一个好的标准可以遵循。
【问题讨论】:
-
作为重复关闭:不要使用
==来比较字符串。请改用equals(...)或equalsIgnoreCase(...)String 方法。 -
@nhgrif:这是您简单投票时的自动消息。
-
@JeroenVannevel 我知道。
标签: java string if-statement compare jlabel