【发布时间】:2015-10-24 15:56:12
【问题描述】:
我有以下代码:
boolean prime = true;
System.out.println("Number is"+ prime ? "prime" : "not prime" );
上面的代码给出了编译时错误。 当我将其修改为:
System.out.println("Number is"+ prime==true ? "prime" : "not prime" );
它说“不兼容的操作数类型:字符串和布尔值”。 当我将其修改为
System.out.println(prime? "prime" : "not prime" );
或
System.out.println(prime==true? "prime" : "not prime" );
完美运行。 这种行为背后的原因是什么。它是否将素数视为 Sysout 中的字符串对象?当我在 Sysout 中使用任何其他字符串时,它无法正常工作。
【问题讨论】:
标签: java ternary-operator