搜尋

首頁  >  問答  >  主體

Java 中 boolean 出现 等于1是什么鬼?

  1. 今天无意间查看BigDecimal类,debug的时候发现方法中定义了一个boolean类型的变量的值居然是1,在Java中boolean不应该不是true就是false吗?否则编译都是错的啊。

  2. 代码如下:

  3. 求知道答案的同学讲解一波,实在是迷糊了。

PHP中文网PHP中文网2770 天前1067

全部回覆(5)我來回復

  • 黄舟

    黄舟2017-04-18 10:29:40

    len <= MAX_COMPACT_DIGIST 這不就是個boolean值嗎,可能debug表述的緣故吧,

    回覆
    0
  • PHPz

    PHPz2017-04-18 10:29:40

    java裡的boolean編譯後就是用int存的,可能你用的debugger顯示了實際值吧

    回覆
    0
  • 大家讲道理

    大家讲道理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類型印出來數字不要驚慌

    回覆
    0
  • 怪我咯

    怪我咯2017-04-18 10:29:40

    1、很好奇你用了什麼鬼IDE,IntelliJ IDEA?

    2、不想出現什麼鬼,還是先從正統強大的Eclipse用起吧!你看,這不顯示挺正常的嘛

    回覆
    0
  • 阿神

    阿神2017-04-18 10:29:40

    參考mysql tinyint?

    回覆
    0
  • 取消回覆