[英]Java Incompatible conditional operand types int and boolean
我似乎找不到解決此錯誤的方法。 錯誤說
不兼容的條件操作數類型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
實際上是布爾值數組,而不是其他值)。 ==
表達式的括號是可選的,但我更喜歡使用它們以提高可讀性。
for (int j = 0; j < 16; j++)
{
byte byte1 = method229(class32);
class32.aBooleanArray590[j] = (byte1 == 1 ? true : false);
}
這應該可以解決問題。
看來您正在嘗試使用1
而不是true
。 如果是這樣,您可以像這樣修復它。
class32.aBooleanArray590[j] = (byte1 == 1 ? true : false);
但是,如果可以的話,您應該可以完全跳過?:
。
class32.aBooleanArray590[j] = (byte1 == 1);
另一方面,如果class32.aBooleanArray590[j]
保存整數,則需要這樣做。
class32.aBooleanArray590[j] = (byte1 == 1 ? 1 : 0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.