繁体   English   中英

Java - 在三元运算符中分配变量 - 意外的类型错误

[英]Java - Assigning variable in ternary operator - unexpected type error

我对编码和 Java 比较陌生。 我正在尝试使用三元运算符代替我的一些“if”语句。 当我将下面的代码编写为 if/else 时,它工作正常,但是当我按原样运行它时,我得到了

unexpected type
required: variable
found:    value line:3

你不能通过三元赋值,还是我做错了? 提前致谢!

  int front;
  nums.length>4 ? front = 4 : front = nums.length;

在 Java 中,三元运算符是一个“赋值”运算符,这意味着“总是”运算的结果必须赋值给一个变量。
目标变量在符号“=”的左侧(像往常一样),而运算符在右侧。 正如你所说,它只是作为 if/else 工作。 结构是这样的:

<destination_variable> = <condition> ? <value_if_cond_true> : <value_else>

因此,在您的特定情况下,三元运算符将编写如下:

int front = nums.length > 4 ? 4 : nums.length;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM