我必须比较两个Boolean
包装彼此。因此,我想知道他们是否平等。如何比较Java中的两个布尔值?
这是我想出了:
public static boolean areEqual(final Boolean a, final Boolean b) {
if (a == b) {
return true;
}
if (a != null && b != null) {
return a.booleanValue() == b.booleanValue();
}
return false;
}
是否有更好的和/或短的方式来正确地比较两个Boolean
包装的平等?
首先,我想使用Object.equals()
或Boolean.compareTo()
,但两种方式最终都可能在NullPointerException
之间,对吧? 也许有些东西我在这里看不到,这就是为什么我问。
你最好写代码,使你的布尔值_不能为空(或者如果他们是,你的代码失败,NPE出来,因为这将是一个错误)。然后你可以将它们与一个理智的人比较。 – pvg
检查这[问题](https://stackoverflow.com/questions/31366231/how-to-check-if-two-boolean-values-are-equal) – Laf
@pvg我必须使用布尔包装,这就是问题。 – winklerrr