【发布时间】:2011-11-09 10:25:57
【问题描述】:
让我们看看下面最简单的Java代码sn-p。
final public class Parsing
{
public static void main(String[] args)
{
int p=10;
int q=10;
System.out.println(p==q);
}
}
上面的 Java 代码很好,并且显示 true,因为相同类型 (int) 的 p 和 q 都包含相同的值 (10)。现在,我想连接 println() 的参数,使其包含一个新的换行序列 \n 并且结果显示在一个新的行中,如下所示。
System.out.println("\n"+p==q);
这是不允许的,因为表达式 p==q 计算一个布尔值并且 Java 中的布尔类型(不是布尔,一种包装类型)永远不能转换为任何其他可用的类型在爪哇。因此,上面提到的语句是无效的,它会发出编译时错误。在 Java 中解决这种情况的方法是什么?
令人惊讶的是,以下语句在 Java 中完全有效。
System.out.println("\n"+true);
System.out.println("\n"+false);
分别显示真假。如何?为什么语句System.out.println("\n"+p==q); 中不允许出现同样的内容?
【问题讨论】:
标签: java