如何检查两个布尔值是否相等?

时间:2015-07-12 09:20:11

标签: java junit boolean compare

我需要一个方法,我可以在junit assertTrue()方法中调用它比较两个布尔值以检查它们是否相等,返回一个布尔值。例如,像这样:

boolean isEqual = Boolean.equals(bool1, bool2);

如果不相等则返回false,如果相等则返回true。我已经检查了布尔类,但唯一接近的是Boolean.compare(),它返回一个我无法使用的int值。

4 个答案:

答案 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) 门的逻辑补码。