我似乎找不到解决此错误的方法。错误说


  不兼容的条件操作数类型int和boolean


for (int j = 0; j < 16; j++)
{
        byte byte1 = method229(class32);
        class32.aBooleanArray590[j] = (byte1 == 1 ? 1 : false);
}


如果您能告诉我如何解决此问题,将不胜感激。

最佳答案

好像你要

(byte1 == 1 ? true : false)


您不能在同一条件运算符中组合不同的类型(1false)。

在您的特定情况下,完全使用条件运算符是多余的,并且下面的内容就足够了:

    class32.aBooleanArray590[j] = (byte1 == 1);


==的结果是布尔值,可以分配给数组的元素(我假设aBooleanArray590实际上是布尔值的数组,而不是其他值)。 ==表达式的括号是可选的,但我更喜欢使用它们以提高可读性。

07-25 21:00