我需要一个方法,我可以在junit assertTrue()
方法中调用它比较两个布尔值以检查它们是否相等,返回一个布尔值。例如,像这样:
boolean isEqual = Boolean.equals(bool1, bool2);
如果不相等则返回false,如果相等则返回true。我已经检查了布尔类,但唯一接近的是Boolean.compare()
,它返回一个我无法使用的int值。
答案 0 :(得分:17)
==
运算符适用于布尔值。
boolean isEqual = (bool1 == bool2);
(括号是不必要的,但有助于使其更容易阅读。)
答案 1 :(得分:1)
import org.junit.Test;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
public class BooleanEqualityTest {
@Test
public void equalBooleans() {
boolean boolVar1 = true;
boolean boolVar2 = true;
assertTrue(boolVar1 == boolVar2);
assertThat(boolVar1, is(equalTo(boolVar2)));
}
}
答案 2 :(得分:0)
您可以使用逻辑表达式
boolean isEqual = bool1 && bool2;
答案 3 :(得分:0)
boolean isEqual = !(bool1 ^ bool2);
按位异或(异或)“^”是 Java 中的一个运算符,如果其操作数中的两个位不同,则提供答案“1”,如果两个位相同,则 XOR 运算符给出结果'0'。
XNOR 门是一种数字逻辑门,其功能是异或 (XOR) 门的逻辑补码。