今天无意间查看BigDecimal类,debug的时候发现方法中定义了一个boolean类型的变量的值居然是1,在Java中boolean不应该不是true就是false吗?否则编译都是错的啊。
代码如下:
求知道答案的同学讲解一波,实在是迷糊了。
认证0级讲师
len
java裡的boolean編譯後就是用int存的,可能你用的debugger顯示了實際值吧
boolean isCompact =(len <= MAX_COMPACT_DIGIST);
這段程式碼,首先會執行後面 len 所以這裡賦值是沒有錯的。 其次是電腦不認識true和false的,這個概念是人為加上的。如果你學過C的話應該知道非0極為真,一般情況下認為1是真,0是假,其實2,3,4。 。 。也是真。 所以在調試過程如果出現bool類型印出來數字不要驚慌
1、很好奇你用了什麼鬼IDE,IntelliJ IDEA?
2、不想出現什麼鬼,還是先從正統強大的Eclipse用起吧!你看,這不顯示挺正常的嘛
參考mysql tinyint?
len
java裡的boolean編譯後就是用int存的,可能你用的debugger顯示了實際值吧
這段程式碼,首先會執行後面 len 所以這裡賦值是沒有錯的。
其次是電腦不認識true和false的,這個概念是人為加上的。如果你學過C的話應該知道非0極為真,一般情況下認為1是真,0是假,其實2,3,4。 。 。也是真。
所以在調試過程如果出現bool類型印出來數字不要驚慌
1、很好奇你用了什麼鬼IDE,IntelliJ IDEA?
2、不想出現什麼鬼,還是先從正統強大的Eclipse用起吧!你看,這不顯示挺正常的嘛
參考mysql tinyint?