格式化程序转换 - 为什么以下代码的结果="true"?

Tar*_*rik -1 java format printf boolean number-formatting

执行此代码时,我总是得到true结果:

public class TestDeclare {
public static void main(String[] args) {

double var = 34;  // any other litteral is valid
System.out.printf("%b ", var); 

}
}
Run Code Online (Sandbox Code Playgroud)

为什么我会得到true而不是false?是true默认值Number吗?

Old*_*eon 6

请参阅Formatter:

'b','B' - 如果参数arg为null,则结果为"false".如果arg是布尔值或布尔值,则结果是String.valueOf(arg)返回的字符串.否则,结果为"true".

那么"假"的等价物是什么?- nullfalseor Boolean.FALSE.