当前位置: 首页 > 知识库问答 >
问题:

为什么Java String.format的输出为null boolean false,以及如何将String.format改为null?[重复]

向杜吟
2023-03-14

我肯定以前有人问过这个问题,但是我找不到答案。

Boolean nullValue = null;
Boolean falseValue = false;
System.out.println( String.format( "%b %b", nullValue, falseValue ) );

这个“假假”的输出怎么样?这正是我在机器上得到的。Java8。苹果电脑。Java新手。

编辑

所以这是预期的行为。看起来布尔toString不会产生我想要的输出null、false、true的行为。每个想要这个的人都应该自己写一个方法吗?有产生那个输出的函数吗?

共有1个答案

梅欣然
2023-03-14

如果您查看方法<code>java.util.Formatter.FormatSpecifier。printBoolean(Object)仅当变量为true时才打印“true”,否则打印false。

进一步看,这在之前的StackOverflow问题中已经介绍过。此行为在留档中指定。

 类似资料:
  • 我的理解是 x == 0 首先运行。但是 x 在计算时仍然是 -1 (y = y / x) == 0?否则它将除以零。我以为输出将是 -5,但日食说 5。我快疯了。

  • 问题内容: 我发现一些代码我工作的地方的点被强制转换,因为它是传递给方法。 为什么要这样做? 我知道这个问题涉及重载的方法,并使用类型转换来确定要调用的方法的版本。 但是,如果不执行强制类型转换,如果使用空参数调用该方法,那么是否会重选带有其他类型的参数的重载方法呢?那么演员阵容还能完成什么呢? 问题答案: 如果 未 执行转换,则将选择 最具体的 版本。 可以是type 或type 的空引用。因此

  • 问题内容: 在我的Web应用程序中,我在Apache Tomcat(TomEE)/7.0.37服务器上使用OpenJPA。我使用Netbeans自动生成类(“来自数据库的实体类…”和“来自实体类的会话Bean …”)。在SessionBean(例如UserFacade)上,我想获取EntityManager: 但是当我通过上述方式得到它时,我得到的是空值。当我通过: ecm不为空,还可以 我的pe

  • 问题内容: 我有一些调用的代码。 不过,这将返回null。 当我从命令行而不是从Eclipse启动相同的代码时,它将返回一个类加载器。 我可以破解代码来做到这一点… 两者都被编译并使用相同的JVM运行。(我确定99.99%)。 任何人都知道为什么第一个会为类加载器返回null? 编辑: 我的问题是:“没有人知道为什么同一类通过Eclipse启动时会返回null,而从命令行加载时会返回类加载器。”

  • 问题内容: 我有一个类Hra1,它定义了游戏规则(game = hra)。问题是,尽管在构造函数中创建了poleMinci数组,但我得到的是空值,例如poleMinci == null。换句话说,玩家的move方法始终返回false。 构造函数: 球员的移动方法: 问题答案: 您正在阴影变量: 在该构造函数中,由于poleMinci是在构造函数内部声明的,因此仅在构造函数内部可见。如果您在类中具有

  • 它给出的输出为“cricket”。但我不明白为什么?http://ideone.com/fteahg