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

时间:2014-11-06 17:20:50

标签: java format boolean printf 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); 

}
}

为什么我会收到true而不是falsetrueNumber的默认值吗?

1 个答案:

答案 0 :(得分:6)

请参阅Formatter

  

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

那么什么是“假”的等价物? - null false {{1} }