今天无意间查看BigDecimal类,debug的时候发现方法中定义了一个boolean类型的变量的值居然是1,在Java中boolean不应该不是true就是false吗?否则编译都是错的啊。
代码如下:
求知道答案的同学讲解一波,实在是迷糊了。
今天无意间查看BigDecimal类,debug的时候发现方法中定义了一个boolean类型的变量的值居然是1,在Java中boolean不应该不是true就是false吗?否则编译都是错的啊。
代码如下:
求知道答案的同学讲解一波,实在是迷糊了。
boolean isCompact =(len <= MAX_COMPACT_DIGIST);
这段代码,首先会执行后面 len <= MAX_COMPACT_DIGIST 这个就是bool类型的
所以这里赋值是没有错的。
其次计算机不认识true和false的,这个概念是人为加上的。如果你学过C的话应该知道非0极为真,一般情况下认为1是真,0是假,其实2,3,4。。。也是真。
所以在调试过程如果出现bool类型打印出来数字不要惊慌
8 回答6.5k 阅读
4 回答698 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答964 阅读✓ 已解决
len <= MAX_COMPACT_DIGIST 这不就是个boolean值吗,可能debug表述的缘故吧,