我似乎找不到解决此错误的方法。错误说
不兼容的条件操作数类型int和boolean
for (int j = 0; j < 16; j++)
{
byte byte1 = method229(class32);
class32.aBooleanArray590[j] = (byte1 == 1 ? 1 : false);
}
如果您能告诉我如何解决此问题,将不胜感激。
最佳答案
好像你要
(byte1 == 1 ? true : false)
您不能在同一条件运算符中组合不同的类型(
1
和false
)。在您的特定情况下,完全使用条件运算符是多余的,并且下面的内容就足够了:
class32.aBooleanArray590[j] = (byte1 == 1);
==
的结果是布尔值,可以分配给数组的元素(我假设aBooleanArray590
实际上是布尔值的数组,而不是其他值)。 ==
表达式的括号是可选的,但我更喜欢使用它们以提高可读性。