![](/img/trans.png)
[英]Swig how to define a typemap that converts a C typedefined Boolean to java boolean
[英]How java converts int to boolean
當我轉換時:
int B=1;
boolean A=B;
它給出錯誤:不兼容的類型,這是真的
但是當我編寫這段代碼時:
int C=0;
boolean A=C==1;
當我將C的值更改為1時,它給出的結果為false。 我不明白編譯器是如何做到的。
int C=0;
boolean A=C==1;
編譯器首先為C賦予零。
Variable : C
Value : 0
現在,Assignment語句
我們知道賦值語句首先評估右邊的部分,然后將其賦給左邊。
右邊==> C == 1
這里,這是一個表達式,其結果為true
或false
。 在這種情況下,由於c is 0.
因此為假c is 0.
因此,RHS是錯誤的。
現在,將其分配給LHS,即A。
A = ( C == 1 ) ==> A = false
由於A
是布爾值,因此這是正確的陳述
C==1
是一個表達式,其結果為boolean
(它是比較運算符)。 如果C
等於1,則返回true
,否則返回false
。
因此boolean A=C==1;
是boolean
值對boolean
變量的有效分配。
它首先檢查c==1
並將結果分配給A
因為C
不為1,所以表達式值的結果為false,將其分配給A
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.