簡體   English   中英

Java不兼容的條件操作數類型int和boolean

[英]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)

您不能在同一條件運算符中組合不同的類型( 1false )。

在您的特定情況下,完全使用條件運算符是多余的,並且下面的內容就足夠了:

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM