今天无意间查看BigDecimal类,debug的时候发现方法中定义了一个boolean类型的变量的值居然是1,在Java中boolean不应该不是true就是false吗?否则编译都是错的啊。
代码如下:
求知道答案的同学讲解一波,实在是迷糊了。
大家讲道理2017-04-18 10:29:40
boolean isCompact =(len <= MAX_COMPACT_DIGIST);
這段程式碼,首先會執行後面 len <= MAX_COMPACT_DIGIST 這個就是bool型別的
所以這裡賦值是沒有錯的。
其次是電腦不認識true和false的,這個概念是人為加上的。如果你學過C的話應該知道非0極為真,一般情況下認為1是真,0是假,其實2,3,4。 。 。也是真。
所以在調試過程如果出現bool類型印出來數字不要驚慌