【发布时间】:2021-09-28 22:23:03
【问题描述】:
我有以下代码sn-p
format(Object obj) {
if(obj.equals("false")) {
buffer.append("No");
} else {
buffer.append("Yes");
}
}
在调试时,我验证 obj 变量的值是值为“false”的布尔对象,但 if 子句总是转到 Yes 指令。你能帮我理解为什么吗?
【问题讨论】:
-
您是否期望
Boolean.valueOf(false).equals("false")之类的内容返回 true?您将Boolean与String进行比较...也许您想要obj.toString().equals("false")(或equalsIgnoreCase)。 -
您正在尝试将
String与Boolean进行比较。这就是为什么你会收到fasle -
这能回答你的问题吗? How to compare Boolean?
标签: java object boolean equals