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