为什么这种方法不起作用?Java 三元运算符
2022-09-02 23:04:55
此代码有什么问题:
void bark(boolean hamlet) {
hamlet ? System.out.println("To Bark.") : System.out.println("Not to Bark");
}
此代码有什么问题:
void bark(boolean hamlet) {
hamlet ? System.out.println("To Bark.") : System.out.println("Not to Bark");
}
三元运算符不能具有不返回值和方法的语句。您需要具有返回值的语句。void
你需要重写它。
void bark(boolean hamlet) {
System.out.println( hamlet ? "To Bark." : "Not to Bark" );
}
您可以在 Java 语言规范 15.25 中阅读原因。条件运算符 ?:
如果第二个或第三个操作数表达式是 void 方法的调用,则这是一个编译时错误。
您需要按照其他几个答案的建议执行操作,并将条件运算符仅应用于参数。