我期待以下內容返回true。對象列表與字符串值比較
public class HudsonJob {
private String name;
private String status;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public boolean equals(Object jobName) {
return name.toLowerCase().equals(((String)jobName).toLowerCase());
}
public int hashCode() {
return name.hashCode();
}
}
,
List<HudsonJob> existingJbsLst = hudsonUtil.getAllJobs(); // returns multiple HudsonJob objects in the list.
我期待回到真正的說法是:
boolean isExistingJob = existingJbsLst.contains("AnExistingJOB");
總是返回false。
或 boolean isExistingJob = existingJbsLst.equals("AnExistingJOB");
也返回false。
我應該在代碼中添加/更改以獲得預期的返回值。
您應該添加null檢查,或默認初始化..所以您的代碼不會對空 – Nix 2010-10-05 13:13:46
崩潰這只是一個樣本代碼,而不是完整的代碼,請採取目標 – srinannapa 2010-10-05 13:15:34
你的例子是令人困惑的人。請明確說明您如何進行比較,以及您正在比較哪些類型。 – Nix 2010-10-05 13:19:42