gpt4 book ai didi

java - 为什么我不能用条件运算符替换 if 语句 (? :)?

转载 作者:行者123 更新时间:2023-12-02 17:34:58 25 4
gpt4 key购买 nike

我一直在努力转身

private PlaneClass preferredClass;

if (preferredClass == PlaneClass.FIRST_CLASS)
preferredClass = PlaneClass.ECONOMY_CLASS;
else
preferredClass = PlaneClass.FIRST_CLASS;

进入

preferredClass == PlaneClass.FIRST_CLASS ? 
preferredClass = PlaneClass.ECONOMY_CLASS
: preferredClass = PlaneClass.FIRST_CLASS;

if 语句编译。条件运算符不会。 (错误消息:1. 类型不匹配:无法从 PlaneClass 转换为 boolean 值 2. 标记“=”上的语法错误。还有另外两个错误...)。我哪里出错了?

最佳答案

语法是:

condition ? value1 : value2;

不是

condition ? statement1 : statement2;

条件运算符是一个表达式,而不是一个语句。它不像 if 语句那样执行语句:它返回一个值。

你的意思是:

preferredClass = (preferredClass == PlaneClass.FIRST_CLASS ? 
PlaneClass.ECONOMY_CLASS : PlaneClass.FIRST_CLASS);

关于java - 为什么我不能用条件运算符替换 if 语句 (? :)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com